
π JavaScript νλ³ν(Type Casting) μ 리
μλ°μ€ν¬λ¦½νΈμμλ λ³μλ₯Ό μ¬μ©ν λ μλ£νμ΄ μλμΌλ‘ λ³νλκΈ°λ νκ³ , κ°λ°μκ° μ§μ λ³ννκΈ°λ νλλ°,
μ΄λ₯Ό μ°λ¦¬λ νλ³ν(Type Casting)μ΄λΌκ³ λΆλ₯Έλ€.
μ΄λ¬ν νλ³νμ ν¬κ² μλμ λ κ°μ§λ‘ λλλ€.
- 묡μμ νλ³ν (Implicit Casting) ππ» μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μλμΌλ‘ λ³ν
- λͺ μμ νλ³ν (Explicit Casting) ππ» κ°λ°μκ° μ§μ λ³ν
π€ 묡μμ νλ³ν (Implicit Casting)
묡μμ νλ³νμ κ°λ°μκ° λ³λλ‘ μ§μ νμ§ μμλ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μμμ νμ μ λ³ννλ κ²½μ°μ΄λ€.
let num = 10;
let str = "20";
const result = num + str;
console.log(result); // "1020"
μμ μ½λ μμμμλ μ«μ 10μ΄ λ¬Έμμ΄ "10"μΌλ‘ μλ λ³νλμ΄ "1020"μ΄ μΆλ ₯λλ€.
μ¦, μ«μμ λ¬Έμμ΄ μ€μμ λ¬Έμμ΄ μ°μ κ·μΉμ΄ μ μ©λ κ²μ΄λ€.
β κΆκΈμ¦) μλ‘ λ€λ₯Έ νμ μ΄ 3κ° μ΄μ μμ΄λ©΄ μ΄λ»κ² λ κΉ?
μ΄ κΆκΈμ¦μ ν΄κ²°νκΈ° μν΄ λλ 10 + true + "5"λ₯Ό μμλ‘ μ€νν΄λ³΄μκ³ ,
κ²°κ³Όλ‘ "115"κ° λμ€λ κ²μ νμΈν μ μμλ€.
κ·Έ μ΄μ λ λ¨Όμ 10 + trueμμ Booleanμ΄ Numberλ‘ λ³νλμ΄ 10 + 1μ΄ μνλμ΄ 11μ΄ λμ€κ³ ,
λ€μμΌλ‘ μ΄ 11 + "5"μμ Numberκ° StringμΌλ‘ λ³νλμ΄ "11" + "5"κ° μνλμ΄ "115"κ° λμ€κΈ° λλ¬Έμ΄λ€.
μ΄μ²λΌ μ¬λ¬ νμ μ΄ μμ¬λ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μ ν΄μ§ κ·μΉμ λ°λΌμ μμ°¨μ μΌλ‘ 묡μμ λ³νμ μ§ννκ² λλ€κ³ νλ€.
βπ» λͺ μμ νλ³ν (Explicit Casting)
λͺ μμ νλ³νμ κ°λ°μκ° ν¨μ λ±μ μ΄μ©ν΄μ μ§μ μνλ νμ μΌλ‘ λ³ννλ λ°©λ²μ΄λ€.
1) λ¬Έμμ΄μ μ«μλ‘
let str1 = "10";
let strToNum = Number(str1);
console.log(10 + strToNum); // 20
μ΄μ²λΌ Number( )λ λ¬Έμμ΄ μ μ²΄κ° μ«μμ¬λ§ λ³νμ΄ κ°λ₯νλ€κ³ νλ€.
2) parseInt μ¬μ©
let str2 = "10κ°";
let strToNum2 = parseInt(str2);
console.log(strToNum2); // 10
μ΄μ²λΌ parseInt( )λ λ¬Έμμ΄ μλΆλΆμ μ«μλ§ μ½μ΄μ λ°ννλ€κ³ νλ€.
β κΆκΈμ¦) "μ«μ10"λ parseInt( )λ‘ λ°κΏ μ μμκ°?
κ²°λ‘ λΆν° λ§νλ©΄ μλλλ°,
κ·Έ μ΄μ λ parseInt( )λ λ°λμ μ«μκ° κ°μ₯ μμͺ½μ μμΉν΄μΌλ§ λμμ΄ κ°λ₯νκΈ° λλ¬Έμ΄λΌκ³ νλ€.
console.log(parseInt("μ«μ10")); // NaN
3) μ«μλ₯Ό λ¬Έμμ΄λ‘
let num1 = 20;
let numToStr1 = String(num1);
console.log(numToStr1 + "μ
λλ€."); // "20μ
λλ€."
μ΄μ²λΌ String( )μ μ°λ©΄ μ«μκ° λ¬Έμμ΄λ‘ λ³νλλ€κ³ νλ€.
π κ²°λ‘
μλ°μ€ν¬λ¦½νΈμμ νμ μΊμ€ν μ κΌ μ΄ν΄νκ³ λμ΄κ°μΌ νλ ν΅μ¬ κ°λ μ΄λ€.
μμ μ CμΈμ΄λ₯Ό λ°°μΈ λλ μ νλ λ΄μ©μ΄μ§λ§,
μ΄λ μκ°λΆν° κ·Έλ₯ λΉμ°νκ² μ¬κ²¨ λμλ‘μ§ μκ² λκ²Όλ κ² κ°λ€.
νμ§λ§ μ΄λ²μ μλ°μ€ν¬λ¦½νΈλ₯Ό κΈ°μ΄λΆν° λ€μ 곡λΆνλ©° νμ μΊμ€ν μ λ€μ μ 리ν΄λ³΄λ, κ·Έ μ€μμ±μ μμΌ λλ μ μμλ€.
νΉν, 묡μμ νλ³νμ νΈλ¦¬νμ§λ§ μλμΉ μμ κ²°κ³Όλ₯Ό μ΄λν μ μκΈ° λλ¬Έμ
μμΌλ‘λ λͺ μμ νλ³νμ μ΅κ΄μ μΌλ‘ νμ©νλ λ°©ν₯μΌλ‘ μ½λλ₯Ό μμ±νλλ‘ λ€μκΈ λ¨Έλ¦¬μ μ겨μΌκ² λ€.