λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

λ…μ„œ λͺ©λ‘/λͺ¨λ”₯λ‹€ Modern JS Deep Dive

[λͺ¨λ”₯λ‹€] 32μž₯ String

728x90

🍏 32.1 String μƒμ„±μž ν•¨μˆ˜

 

String 래퍼 κ°μ²΄λŠ” λ°°μ—΄κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ

length ν”„λ‘œνΌν‹°μ™€ 인덱슀λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μˆ«μžν˜•μ‹μ˜ λ¬Έμžμ—΄μ„ ν”„λ‘œνΌν‹° ν‚€λ‘œ, 

각 λ¬Έμžμ—΄μ„ ν”„λ‘œνΌν‹° κ°’μœΌλ‘œ κ°–λŠ” μœ μ‚¬ λ°°μ—΄ 객체이닀.

 

λ¬Έμžμ—΄μ€ μ›μ‹œκ°’μ΄λ―€λ‘œ λ³€κ²½ν•  수 μ—†λ‹€. λ³€κ²½ν•˜λ €ν•΄λ„ 였λ₯˜κ°€ λ‚˜μ§€ μ•Šκ³  변경도 μ•ˆλœλ‹€.

 

new String() <- μ•ˆμ— λ¬Έμžμ—΄μ΄ μ•„λ‹Œ 값을 μ „λ‹¬ν•˜λ©΄ String 으둜 κ°•μ œ λ³€ν™˜ν•œλ‹€.

 

 

 

 

 

🍏 32.2 length ν”„λ‘œνΌν‹°

 

λ¬Έμžμ—΄μ˜ 개수λ₯Ό λ°˜ν™˜

 

 

 

 

🍏 32.3 String λ©”μ„œλ“œ

 

String κ°μ²΄μ—λŠ” λ°°μ—΄μ²˜λŸΌ 원볡 String 을 직접 λ³€κ²½ν•˜λŠ” λ©”μ„œλ“œλŠ” μ‘΄μž¬ν•˜μ§€ ❌

=> μ–Έμ œλ‚˜ μƒˆλ‘œμš΄ λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•œλ‹€.

 

32.3.4 String.prototype.startsWith

- λŒ€μƒ λ¬Έμžμ—΄μ΄ 인수둜 전달받은 λ¬Έμžμ—΄λ‘œ μ‹œμž‘ν•˜λŠ”μ§€ 확인 -> true, false 리턴

 

 

32.3.5 String.prototype.endsWith

- λŒ€μƒ λ¬Έμžμ—΄μ΄ 인수둜 전달받은 λ¬Έμžμ—΄λ‘œ λλ‚˜λŠ”μ§€ 확인 -> true, false 리턴

 

 

32.3.7 String.prototype.substring

첫번째 인수 index λΆ€ν„° 

λ‘λ²ˆμ§Έ 인수 index λ°”λ‘œ μ΄μ „κΉŒμ§€μ˜ 

λΆ€λΆ„ λ¬Έμžμ—΄μ„ λ°˜ν™˜

 

const str = "Hello World";
str.substring(1, 4);

//ell

 

 

인수<0 이면 0으둜 μ·¨κΈ‰λœλ‹€.

 

 

32.3.7 String.prototype.slice

substring κ³Ό λ™μΌν•˜κ²Œ λ™μž‘ν•˜μ§€λ§Œ, slice λŠ” 음수λ₯Ό 전달할 수 μžˆλ‹€.

음수: λ’€μ—μ„œλΆ€ν„° μžλ¦„.

 

const str = "Hello World";
str.slice(-5);

//World

 

 

32.3.11 String.prototype.trim

trimStart

trimEnd 도 있음

 

 

32.3.12 String.prototype.repeat

- λŒ€μƒ λ¬Έμžμ—΄μ„ 전달받은 μ •μˆ˜λ§ŒνΌ 반볡 & μ—°κ²°ν•œ μƒˆλ‘œμš΄ λ¬Έμžμ—΄μ„ λ°˜ν™˜.

- 0이면 빈 λ¬Έμžμ—΄μ„ λ°˜ν™˜

 

 

 

 

 

 

 

 

 

 

 

 

728x90
λ°˜μ‘ν˜•