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
๋ฐ์ํ
'Front > JS & jQuery' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[jQuery] insertBefore (0) | 2025.09.11 |
---|---|
[js] capitalizeFirstLetter (0) | 2025.09.04 |
[js] pignoseCalendar ๋ฐ์ธ๋ฉ (0) | 2025.09.01 |
[js/JAVA] switch ์ฐจ์ด (0) | 2025.08.27 |
[js] PDF ํ์ผ(blob ๋ฐ์ดํฐ)์ ์์ฐฝ์์ ๋ณด์ฌ์ค ๋, URL ์์ ํ๊ธฐ (0) | 2025.08.26 |