Front/JS & jQuery
[js] String.prototype
์ค์ ์งโฌ
2025. 9. 3. 14:00
728x90
๋ฐ์ํ
๐น String.prototype ์ด๋?
- JavaScript์์ ๋ชจ๋ ๋ฌธ์์ด ๊ฐ์ฒด(String)๊ฐ ์์๋ฐ๋ ํ๋กํ ํ์ ๊ฐ์ฒด์ ๋๋ค.
- ์ฆ, "hello" ๊ฐ์ ๋ฌธ์์ด ๋ฆฌํฐ๋ด๋ ๋ด๋ถ์ ์ผ๋ก๋ new String("hello") ๊ฐ์ฒด์์ ํ์๋๋ฉฐ, ์ด๋ String.prototype์ ์ ์๋ ๋ฉ์๋๋ค์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ ๊ฒ์ด์์.
๐น ์ฃผ์ ํน์ง
- ๋ชจ๋ ๋ฌธ์์ด์ด ๊ณต์
- String.prototype์ ์ ์๋ ์์ฑ๊ณผ ๋ฉ์๋๋ ๋ชจ๋ ๋ฌธ์์ด ๊ฐ์ฒด์์ ์์๋ฉ๋๋ค.
- ์ฆ, ํ ๋ฒ ํ์ฅํ๋ฉด ์ ์ญ์ ์ ์ฉ๋ฉ๋๋ค.
- ๋ด์ฅ ๋ฉ์๋ ํฌํจ
- ์:
- charAt()
- slice()
- toUpperCase()
- toLowerCase()
- trim()
- includes()
- ๋ฑ๋ฑ ๋ชจ๋ String.prototype์ ์ ์๋์ด ์์ต๋๋ค.
- ์:
- ์ฌ์ฉ์ ์ ์ ๋ฉ์๋ ์ถ๊ฐ ๊ฐ๋ฅ
String.prototype.capitalizeFirstLetter = function () {
return this.charAt(0).toUpperCase() + this.slice(1);
};
console.log("hello".capitalizeFirstLetter()); // "Hello"
๐น ์ฃผ์ํ ์
- ๊ธ๋ก๋ฒ ์ค์ผ(global pollution):
String.prototype์ ์ง์ ํ์ฅํ๋ฉด ๋ชจ๋ ์ฝ๋์ ์ํฅ์ ์ค๋๋ค.
๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๋์ผํ ์ด๋ฆ์ ์ด๋ค๋ฉด ์ถฉ๋์ด ๋ฐ์ํ ์ ์์. - ๋ณดํต์ ๊ถ์ฅํ์ง ์์:
์ ์ง๋ณด์์ฑ๊ณผ ํธํ์ฑ์ ์ํด ES6+ ํ๊ฒฝ์์๋ ์ ํธ ํจ์(ํฌํผ ํจ์) ํํ๋ก ์์ฑํ๋ ๊ฑธ ๋ ์ถ์ฒํฉ๋๋ค.
728x90
๋ฐ์ํ