πΈ06μ₯. λ°μ΄ν° νμ
β
6.1 λ°μ΄ν° νμ
(data type)
π λ°μ΄ν° νμ
μ κ°μ μ’
λ₯λ₯Ό λ§νλ€.
π μλ°μ€ν¬λ¦½νΈμ λͺ¨λ κ°μ λ°μ΄ν° νμ
μ κ°λλ€.μ«μ(number)νμ
μ«μ. μ μμ μ€μ κ΅¬λΆ μμ΄ νλμ μ«μνμ λ§ μ‘΄μ¬
λ¬Έμμ΄(string)νμ
λ¬Έμμ΄
μμνμ
λΆλ¦¬μΈ(boolean)νμ
λ Όλ¦¬μ μ°Έ(true)κ³Ό κ±°μ§(false)
undefined νμ
var ν€μλλ‘ μ μΈλ λ³μμ μ묡μ μΌλ‘ ν λΉλλ κ°
null νμ
κ°μ΄ μλ€λ κ²μ μλμ μΌλ‘ λͺ μν λ μ¬μ©νλ κ°
κ°μ²΄νμ
μμ νμ μ μ μΈν λͺ¨λ κ²
β
6.2 μλ°μ€ν¬λ¦½νΈκ° μ 곡νλ νμ
μ«μ νμ
μλ°μ€ν¬λ¦½νΈλΒ νλμ μ«μ νμ
λ§ μ‘΄μ¬νλ€.ECMAScriptμ λ°λ₯΄λ©΄, μ«μ νμ μ κ°μ λ°°μ λ°λ 64λΉνΈ λΆλμμμ νμμ λ°λ₯Έλ€.
μ¦, λͺ¨λ μλ₯Ό
μ€μλ‘ μ²λ¦¬νλ€.λ°λΌμ μλμ μν©μ μ£Όμν΄μΌνλ€.
console.log(0.1 + 0.2); // 0.30000000000000004 console.log(0.1 + 0.2 == 0.3); //falseμΆκ°μ μΌλ‘ 3κ°μ§ νΉλ³ν κ°λ ννν μ μλ€.
// μ«μ νμ μ μΈ κ°μ§ νΉλ³ν κ° console.log(10 / 0); // Infinity : μμ 무νλ console.log(10 / -0); // -Infinity : μμ 무νλ console.log(1 * "String"); // NaN : μ°μ μ°μ° λΆκ° (not a Number)
λ¬Έμμ΄ νμ
λ¬Έμμ΄μ΄ νλ² μμ±λλ©΄, κ·Έ λ¬Έμμ΄μ λ³κ²½ν μ μλ€. (feat. λ³κ²½ λΆκ°λ₯ν κ°(immutable value))
μμλ°μ΄ν(''),ν° λ°μ΄ν(""),λ°±ν±(``)μΌλ‘ ν μ€νΈλ₯Ό κ°μΌλ€.
ν
νλ¦Ώ 리ν°λ΄
ES6λΆν° λμ λ μλ‘μ΄ λ¬Έμμ΄ νκΈ°λ²μ΄λ€.
ν νλ¦Ώ 리ν°λ΄μ
λ°νμ(runtime) μ μΌλ° λ¬Έμμ΄λ‘ λ³νλμ΄ μ²λ¦¬λκ³λ°±ν±(``)μ μ¬μ©ν΄ νννλ€.1. λ©ν°λΌμΈ λ¬Έμμ΄(muti-line string)
2. ννμ μ½μ (expression interpolation)
λ¬Έμμ΄μ + μ°μ°μλ₯Ό μ¬μ©ν΄ μ°κ²°ν μ μμ§λ§, ννμ μ½μ
μ ν΅ν΄ λμ± κ°λ
μ± μ’κ² μ‘°ν©ν μ μλ€.
λΆλ¦¬μΈ νμ
undefined νμ
λ³μ μ μΈ μ, μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μ묡μ μΌλ‘
undefinedλ‘ μ΄κΈ°ννλ€.μ¦, λ³μ μ μΈμ μν΄ ν보λ λ©λͺ¨λ¦¬ 곡κ°μ μ²μ ν λΉμ΄ μ΄λ€μ§ λκΉμ§ λΉ μν(garbage κ°)λ‘ λμ§ μκ³ undefinedλ‘ μ΄κΈ°ννλ€.
λ§μ½ μ무κ²λ μλ λΉ κ°μ μ°κ³ μΆλ€λ©΄,
nullμ μ¬μ©νλ©΄ λλ€.
null νμ
λ³μμ nullμ ν λΉ == λ³μκ° μ΄μ μ μ°Έμ‘°νλ κ°μ λμ΄μ μ°Έμ‘°νμ§ μκ² λ€.
μλ°μ€ν¬λ¦½νΈ μμ§μ λꡬλ μ°Έμ‘°νμ§ μλ λ©λͺ¨λ¦¬ 곡κ°μ λν΄ κ°λΉμ§ μ½λ μ μ μνν κ²
ν¨μκ° μ ν¨ν κ°μ λ°νν μ μλ κ²½μ°μλ λͺ μμ μΌλ‘ nullμ λ°ννλ€.
HTML μμλ₯Ό κ²μν΄ λ°ννλ document.querySelectorλ©μλκ° μ‘°ν©μ λΆν©νλ HTMLμμλ₯Ό κ²μν μ μλ κ²½μ°, μλ¬ λμ null λ°ν
μ¬λ² νμ
μ£Όλ‘ μ΄λ¦κ³Ό μΆ©λν μνμ΄ μλ κ°μ²΄μ μ μΌν νλ‘νΌν° ν€λ₯Ό λ§λ€κΈ° μν΄ μ¬μ©νλ€.
Symbolν¨μλ₯Ό νΈμΆν΄ μμ±νλ€.μμ±λ μ¬λ² κ°μ μΈλΆμ λ ΈμΆλμ§ μκ³ λ€λ₯Έ κ°κ³Ό μ λ μ€λ³΅λμ§ μλ μ μΌλ¬΄μ΄ κ°μ΄λ€.
κ°μ²΄ νμ
β
6.3 λ°μ΄ν° νμ
μ νμμ±
μλ°μ€ν¬λ¦½νΈ μμ§μ datatypeμ λ°λΌ μ ν΄μ§ ν¬κΈ°μ λ©λͺ¨λ¦¬ 곡κ°μ ν보νλ€.
λ°λΌμ, λ³μμ ν λΉλλ κ°μ datatypeμ λ°λΌ ν보ν΄μΌ ν λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°κ° κ²°μ λλ€.
"λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°" = λ©λͺ¨λ¦¬ μ μ κ°μ(byte μ)
β
6.4 λμ νμ΄ν
λμ νμ
μΈμ΄
νμ¬ λ³μμ ν λΉλμ΄ μλ κ°μ μν΄ λ³μμ νμ μ΄ λμ μΌλ‘ κ²°μ λλ€.
var, const, let ν€μλλ₯Ό μ¬μ©ν΄μ λ³μλ₯Ό μ μΈνλ κ²μΌ λΏ, μ€μ§μ μΈ κ°μ νμ μ
λ°νμ(runtime)μ ν λΉλλ κ°μ μν΄ κ²°μ λλ€.λ°λ©΄μ, μ μ νμ μΈμ΄(C, Java λ±)λ
λ³μ μ μΈ μμ μ νμ μ΄ κ²°μ λκ³ λ³μμ νμ μ λ³κ²½ν μ μλ€ . κ·Έλ¦¬κ³ μ»΄νμΌ μμ μνμ 체ν¬(μ μΈν λ°μ΄ν° νμ μ λ§λ κ°μ ν λΉνλμ§ κ²μ¬νλ μ²λ¦¬)λ₯Ό μννλ€.
λμ νμ
μΈμ΄μ λ¨μ
볡μ‘ν νλ‘κ·Έλ¨μμλ λ³ννλ λ³μ κ°μ μΆμ νκΈ° μ΄λ €μΈ μ μλ€.
κ°μ λ³κ²½μ μν΄ νμ λ μΈμ λ μ§ λ³κ²½λ μ μλ€. β κ°μ νμΈνκΈ° μ μλ νμ μ νμ ν μ μλ€.
κ°λ°μμ μλμλ μκ΄μμ΄ μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ μ묡μ μΌλ‘ νμ μ΄ μλμΌλ‘ λ³νλκΈ°λ νλ€.
Last updated