0. κ°μ
jsλ‘ νλ‘μ νΈ μ§ν μ€ μ΅κ·Όμ μλ‘κ² μ λ°μ΄νΈλ λ¬Έμμ΄ λ©μλλ₯Ό 곡λΆνκ³ μ μ©νκ³ μ μ΄ κΈμ μμ±ν¨
1. νμ΅λͺ©μ
λ¬Έμμ΄μμ νΉμ λ¬Έμμ΄μ λͺ¨λ λμΉνλ λ€μν λ©μλ νμΈ
μ€μ μμ νμ© κ°λ₯ν λ€μν λ¬Έμμ΄ μΉνλ² νμ΅
2. νμ΅λ΄μ©
jsμλ prototypeμ ν΅ν΄ μ§μ λ λ€μν λ©μλλ€μ΄ μ‘΄μ¬ν©λλ€.
μ΄ λ©μλλ₯Ό ν΅ν΄ μ΄λ ΅κ² ꡬμ±ν΄μΌ ν μ½λλ€μ κ°λ¨νκ² λ§λ€ μ μμ΅λλ€.
λ§μ½ λ¬Έμμ΄μμ νΉμ λ¬Έμλ₯Ό μ°Ύκ³ μ νλ€λ©΄, μ°λ¦° λ¨μν indexOf λΌλ λ©μλλ₯Ό ν΅ν΄ λ¬Έμ λ΄ νΉμ λ¬Έμμ μμΉλ₯Ό μ½κ² μ°Ύμ μ μμ΅λλ€.
"abcdefg".indexOf(c) // 2
νμ§λ§ indexOf λ©μλκ° μλ€λ©΄?
function findIndexOfChar ( base_string, character ) {
for (var i = 0; i < base_string.length; i++) {
if ( base_string[i] === character ) return i;
}
}
findIndexOfChar( "abcdefg", "c" ) // 2
μ½λ μμ±μκ°μ΄ κΈΈμ΄μ§κ³ κ·Έ κΈΈμ΄λ κΈΈμ΄μ§κ² μ£ .
μ΄λ₯Ό μν΄μ ν¨μ¨μ μΈ λ©μλμ νμ©μ κ΅μ₯ν μ€μνλ°, μ΅κ·Ό λ¬Έμμ΄μ μΉνμ κ΄λ ¨λ μλ‘μ΄ λ©μλκ° μΆκ°λμμ΅λλ€.
1) κΈ°μ‘΄μ λ¬Έμμ΄μ μΉννκΈ° μν λ°©λ²
κΈ°μ‘΄μ μ΄μ λ¬Έμμ΄μ λ°κΎΈκΈ° μν λ°©λ²μλ μ¬λ¬κ°μ§κ° μμμ΅λλ€.
λνμ μΌλ‘λ replace() λ©μλκ° μλλ°,
"abcdefgabc".replace("abc", "xxx") // "xxxdefgabc"
μ΄λ°μμΌλ‘ 쑰건μ λ§λ λΆλΆμ μ°Ύμ μ£Όμ΄μ§ λ¬Έμμ΄λ‘ μΉνν©λλ€.
νμ§λ§ μ΄ λ°©μμ λ¨μ μ μΌμΉνλ κ°μ₯ μμͺ½ λ¬Έμμ΄λ§ μΉνλλ€λ κ²μ΄μλλ°μ, μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ λ§μ κ°λ°μλ€μ 'μ κ·μ'μ μ¬μ©νμ΅λλ€.
μ κ·μμ μ¬μ©νμ¬ μ‘°κ±΄μ λ§λ λͺ¨λ λ¬Έμμ΄μ λ°κΏμ£Όλ μ½λλ μλμ κ°μ΄ λ°λλλ€:
"abcdefgabc".replace(/abc/g, "xxx") // xxxdefgxxx
ν΄λΉ ν¨ν΄μ λΆν©νλ λ€μν μμΉκ° μ‘΄μ¬ν κ²½μ° λͺ¨λ μμΉμ κ°μ΄ λ³κ²½λ©λλ€. ( μ κ·μμ 'g' ν€μλ λλΆ )
2) μλ‘κ² μΆκ°λ λ©μλ: replaceAll()
μλ‘κ² μΆκ°λ replaceAllμ μμμ μ κ·μμ μ°λ κ³Όμ μ λμ΄μ€λλ€.
"abcdefgabc".replaceAll("abc", "xxx") // xxxdefgxxx
μ¬νν΄μ‘μ£ .
λ¨, κΈ°μ‘΄μ μ¬μ©νλ μ κ·μ λ°©μμ νμ 'g' ν€μλλ₯Ό λΆμ¬μΌ ν©λλ€.
"abcdefgabc".replaceAll(/abc/, "xxx") // TypeError: replaceAll must be called with a global RegExp
"abcdefgabc".replaceAll(/abc/g, "xxx") // "xxxdefgxxx"
λ¨, μ£Όμν μ μ μ΄ λ©μλκ° μ§μλμ§ μλ λΈλΌμ°μ λ€μ΄ μ‘΄μ¬νλ€λ μ μ λλ€.
ν¬λ‘¬κ³Ό edgeλ 85λ²μ μ΄μ, Nodeλ 15λ²μ μ΄μ, IEλ λ―Έμ§μμ λλ€.
+) μ¬λ΄
μΈν°λ·μ μ¬λΌμ¨ κΈλ€μ 보λ μ λ°μ΄νΈ λμ§ 1λ μ‘°κΈ λμ κ² κ°μ΅λλ€.
μμ§ vscodeμμλ λ©μλ리μ€νΈμ νμλμ§ μλ€μ.
3. μ 리
String.prototype.replaceAll() λ©μλκ° μΆκ°λ¨
μ κ·μμ΄λ forλ¬Έ μμ΄ λͺ¨λ λ¬Έμμ΄ λμ²΄κ° κ°λ₯
ꡬν λΈλΌμ°μ λ―Έμ§μ.
'π¨ Dev_FE' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ CSS ] CSS λͺ¨λ°μΌ Transition κ°μ (0) | 2022.02.13 |
---|---|
[ JS ] 1. μ»΄νμΌ (0) | 2021.08.28 |
[ vanilla js ] Web Worker API (κ°λ νΈ) (0) | 2021.07.20 |