String
String์ ํ์ค ๋นํธ์ธ ๊ฐ์ฒด๋ก, ๋ฌธ์์ด(์์ ํ์ )์ ๋ค๋ฃฐ ๋ ์ฌ์ฉ๋๋ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ค.
String ํน์ง
→ String ์์ฑ์ ํจ์์ ์ธ์๋ฅผ ์ ๋ฌํ์ง ์๊ณ new ์ฐ์ฐ์์ ํจ๊ป ํธ์ถํ๋ฉด [[StringData]] ๋ด๋ถ ์ฌ๋กฏ์ ๋น ๋ฌธ์์ด์ ํ ๋นํ String ๋ํผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
→ String ๋ํผ ๊ฐ์ฒด๋ ๋ฐฐ์ด์ฒ๋ผ lengthํ๋กํผํฐ์ index(์ธ๋ฑ์ค๋ฅผ ๋ํ๋ด๋ ์ซ์๋ก ๋ ๋ฌธ์์ด์ ํ๋กํผํฐ ํค)๋ฅผ ๊ฐ๊ณ , ๊ฐ๊ฐ์ ๋ฌธ์๋ฅผ ํ๋กํผํฐ ๊ฐ์ผ๋ก ๊ฐ๋ ์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด ์ด๋ฉด์, ์ดํฐ๋ฌ๋ธ ์ด๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด๊ณผ ์ ์ฌํ๊ฒ index๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ๋ฌธ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
→ ๋ฌธ์์ด์ index๋ก ์ ๊ทผํ์ฌ ํ๋กํผํฐ ๊ฐ์ ๋ณ๊ฒฝํด๋ ์๋ฌ๋ ๋ฐ์ํ์ง ์์ง๋ง, ๋ฌธ์์ด์ ์์ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์๋๋ค.
→ String ์์ฑ์ ํจ์์ ์ธ์๋ก ๋ฌธ์์ด์ด ์๋ ๊ฐ์ ์ ๋ฌํ๋ฉด, ์ธ์๋ฅผ ๋ฌธ์์ด๋ก ๊ฐ์ ๋ณํํ ๋ค String ๋ํผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
→ new ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ String ์์ฑ์ ํจ์๋ฅผ ํธ์ถํ๋ฉด String ์ธ์คํด์ค๊ฐ ์๋ ๋ฌธ์์ด์ ๋ฐํํ๋ค.
→ length ํ๋กํผํฐ๋ ๋ฌธ์์ด์ ๋ฌธ์ ๊ฐ์๋ฅผ ๋ฐํํ๋ค.
String ๋ฉ์๋
๊ฐ์ฒด์ธ ๋ฐฐ์ด์์๋ ์๋ณธ ๋ฐฐ์ด์ ์ง์ ๋ณ๊ฒฝํ๋ ๋ฉ์๋๊ฐ ์กด์ฌํ์ง๋ง, ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ธ ์์ ๊ฐ์ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ String ๊ฐ์ฒด๋ ์๋ณธ String ๋ํผ ๊ฐ์ฒด๋ฅผ ์ง์ ๋ณ๊ฒฝํ๋ ๋ฉ์๋๋ ์กด์ฌํ์ง ์๋๋ค.
๋ฉ์๋ ๋ช | ์ค๋ช | ์ธ์ | ๋ฐํ ๊ฐ |
String.prototype.indexOf | ์ธ์๋ก ์ ๋ฌ๋ฐ์ ๋ฌธ์์ด์ ๊ฒ์ํ์ฌ ์ฒซ ๋ฒ์งธ index๋ฅผ ๋ฐํํ๋ ๋ฉ์๋๋ก ๊ฒ์์ ์คํจํ๋ฉด -1์ ๋ฐํํ๋ค. | 1) ๊ฒ์ํ ๋ฌธ์์ด 2) ๊ฒ์์ ์์ํ index(์ต์ ) |
index or -1 |
String.prototype.search | ์ธ์๋ก ์ ๋ฌ๋ฐ์ ์ ๊ทํํ์๊ณผ ๋งค์นํ๋ ๋ฌธ์์ด์ ๊ฒ์ํ์ฌ ์ผ์นํ๋ ๋ฌธ์์ด์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค. | 1) ์ ๊ท ํํ์ | index or -1 |
String.prototype.includes | ์ธ์๋ก ์ ๋ฌ๋ฐ์ ๋ฌธ์์ด์ด ํฌํจ๋์ด ์๋์ง ํ์ธ ํ true ๋๋ false ๊ฐ์ ๋ฐํํ๋ค. | 1) ๊ฒ์ํ ๋ฌธ์์ด 2) ๊ฒ์์ ์์ํ index(์ต์ ) |
Boolean |
String.prototype.startsWith | ES6์์ ๋์ ๋ ๋ฉ์๋๋ก ์ธ์๋ก ์ ๋ฌ๋ฐ์ ๋ฌธ์์ด๋ก ์์ํ๋์ง ํ์ธ ํ true ๋๋ false ๊ฐ์ ๋ฐํํ๋ค. | 1) ๊ฒ์ํ ๋ฌธ์์ด 2) ๊ฒ์์ ์์ํ index(์ต์ ) |
Boolean |
String.prototype.endsWith | ES6์์ ๋์ ๋ ๋ฉ์๋๋ก ์ธ์๋ก ์ ๋ฌ๋ฐ์ ๋ฌธ์์ด๋ก ๋๋๋์ง ํ์ธ ํ true ๋๋ false ๊ฐ์ ๋ฐํํ๋ค. | 1) ๊ฒ์ํ ๋ฌธ์์ด 2) ๊ฒ์์ ์์ํ index(์ต์ ) |
Boolean |
String.prototype.charAt | ์ธ์๋ก ์ ๋ฌ๋ฐ์ index์ ์์นํ ๋ฌธ์๋ฅผ ๊ฒ์ํ์ฌ ๋ฐํํ๋ค. ๊ฒ์ํ index๊ฐ ๋ฌธ์์ด์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๊ฒฝ์ฐ ๋น ๋ฌธ์์ด(’’)์ ๋ฐํํ๋ค. |
1) ๊ฒ์ํ index | String |
String.prototype.substring | ์ฒซ ๋ฒ์งธ ์ธ์๋ก ์ ๋ฌ๋ฐ์ index์ ์์นํ๋ ๋ฌธ์๋ถํฐ ๋ ๋ฒ์งธ ์ธ์๋ก ์ ๋ฌ๋ฐ์ index์ ์์นํ๋ ๋ฌธ์์ ๋ฐ๋ก ์ด์ ๋ฌธ์๊น์ง์ ๋ถ๋ถ ๋ฌธ์์ด์ ๋ฐํํ๋ค. ์ฒซ ๋ฒ์งธ ์ธ์๊ฐ ๋ ๋ฒ์งธ ์ธ์๋ณด๋ค ํด ๊ฒฝ์ฐ, ๋ ์ธ์๊ฐ ๊ตํ๋๋ค. ์ธ์๊ฐ 0๋๋ NaN์ธ ๊ฒฝ์ฐ๋ 0์ผ๋ก ์ทจ๊ธ๋๋ค. ์ธ์๊ฐ ๋ฌธ์์ด์ ๊ธธ์ด๋ณด๋ค ํฐ ๊ฒฝ์ฐ ์ธ์๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ก ์ทจ๊ธ๋๋ค. |
1) ๋ฐํ ๋ฐ์ ๋ฌธ์์ด์ ์์ index 2) ๋ฐํ ๋ฐ์ ๋ฌธ์์ด์ ๋ง์ง๋ง index |
String |
String.prototype.slice | substring ๋ฉ์๋์ ๋น์ทํ๊ฒ ๋์ํ๋ slice ๋ฉ์๋๋ ์์์ธ ์ธ์๋ฅผ ์ ๋ฌํ์ฌ ๋ฌธ์์ด์ ๊ฐ์ฅ ๋ค์์๋ถํฐ ์์ํด์ ๋ฌธ์์ด์ ์๋ผ๋ด ๋ฐํํ ์ ์๋ค. ์์์ธ ์ธ์๋ฅผ ์ ๋ฌํ๋ฉด ๋ฌธ์์ด์ ๋งจ ๋ค์์ ๋ถํฐ ์์ํด์ ๋ฌธ์์ด์ ์๋ผ๋ผ ์ ์๋ค. |
1) ๋ฐํ ๋ฐ์ ๋ฌธ์์ด์ ์์ index 2) ๋ฐํ ๋ฐ์ ๋ฌธ์์ด์ ๋ง์ง๋ง index |
String |
String.prototype.toUpperCase | ๋ชจ๋ ๋๋ฌธ์๋ก ๋ณ๊ฒฝํ ๋ฌธ์์ด์ ๋ฐํํ๋ค. | x | String |
String.prototype.toLowerCase | ๋ชจ๋ ์๋ฌธ์๋ก ๋ณ๊ฒฝํ ๋ฌธ์์ด์ ๋ฐํํ๋ค. | x | String |
String.prototype.trim | ์๋ค์ ๊ณต๋ฐฑ ๋ฌธ์๊ฐ ์์ ๊ฒฝ์ฐ, ๊ณต๋ฐฑ์ ์ ๊ฑฐํ ๋ฌธ์์ด์ ๋ฐํํ๋ค. - String.prototype.trimStart : ์์ ์๋ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ๋ค. - String.prototype.trimEnd : ๋ค์ ์๋ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ๋ค. |
xโ | String |
String.prototype.repeat | ES6์์ ๋์
๋ ๋ฉ์๋๋ก ์ธ์๋ก ์ ๋ฌ๋ฐ์ ์ ์๋งํผ ๋ฐ๋ณตํด ์ฐ๊ฒฐํ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ค. ์ธ์์ ๋น๊ฐ ๋๋ 0์ ๋ฃ์ผ๋ฉด ๋น ๋ฌธ์์ด์ ๋ฐํํ๊ณ , ์์์ด๋ฉด RangeError๋ฅผ ๋ฐ์์ํจ๋ค. |
1) ๋ฐ๋ณตํ ํ์ | String |
String.prototype.replace | ์ฒซ ๋ฒ์งธ ์ธ์๋ก ์ ๋ฌ๋ฐ์ ๋ฌธ์์ด ๋๋ ์ ๊ทํํ์์ ๊ฒ์ํ์ฌ ๋ ๋ฒ์งธ ์ธ์๋ก ์ ๋ฌํ ๋ฌธ์์ด๋ก ์นํํ ๋ฌธ์์ด์ ๋ฐํํ๋ค. * ๊ฒ์๋ ๋ฌธ์์ด์ด ์ฌ๋ฌ๊ฐ์ผ ๊ฒฝ์ฐ, ์ฒซ ๋ฒ์งธ๋ก ๊ฒ์๋ ๋ฌธ์์ด๋ง ์นํํ๋ค. ํน์ํ ๊ต์ฒด ํจํด์ ์ด์ฉํ ์ ์๋ค. ์ฒซ ๋ฒ์งธ ์ธ์๋ก ์ ๊ทํํ์์ ์ ๋ฌํ๋ฉด ํด๋น ์ ๊ทํํ์์ผ๋ก ๊ฒ์ํ๋ค. ๋ ๋ฒ์งธ ์ธ์๋ก ์นํ ํจ์๋ฅผ ์ ๋ฌํ ์ ์๋ค. |
1) ๊ฒ์ํ ๋ฌธ์์ด ๋๋ ์ ๊ทํํ์ 2) ์นํํ ๋ฌธ์์ด |
String |
String.prototype.split | ์ฒซ ๋ฒ์งธ ์ธ์๋ก ์ ๋ฌํ ๋ฌธ์์ด ๋๋ ์ ๊ทํํ์์ ๊ฒ์ํ์ฌ ๋ฌธ์์ด์ ๊ตฌ๋ถํ ๋ค ๋ถ๋ฆฌ๋ ๊ฐ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ ๋ฐํํ๋ค. ๋ฐฐ์ด์ ๋ฐํํ๊ธฐ ๋๋ฌธ์ Array.prototype.reverse, Array.prototype.join ๋ฑ์ Array๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค. |
1) ๊ฒ์ํ ๋ฌธ์์ด ๋๋ ์ ๊ทํํ์ 2) ๋ฐฐ์ด์ ๊ธธ์ด ์ง์ |
Array |
์ถ์ฒ : ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive - ์ด์ ๋ชจ(์ํค๋ถ์ค)