JABASCRIPT BASIC
λ³μ
scope
var
μ°μ°μλ λ³μλ₯Ό λ‘컬 μ€μ½νμμ μ μνλ€λ μ μ λ°λμ κΈ°μ΅ν΄μΌνλ€. var
ν€μλλ₯Ό μ¨μ λ³μλ₯Ό μ μνλ©΄ ν΄λΉ λ³μλ μμ κ°μ΄ ν¨μκ° μ’
λ£λλ μκ° νκ΄΄λλ€.
var
μ°μ°μλ₯Ό μλ΅νλ κ²½μ°μλ λ³μλ₯Ό μ μμΌλ‘ μ μν μ μλ€.
λ°μ΄ν° νμ ECMAScriptμλ λ€μ― κ°μ§ κΈ°λ³Έμ μΈ λ°μ΄ν° νμ μ΄ μλ€. μ΄λ₯Ό primitive(μμ) λ°μ΄ν° νμ μ΄λΌ λΆλ₯΄κΈ°λνλ€.
Undefined
Null
Boolean
number
string
볡μ‘ν λ°μ΄ν° νμ
object : ν¨μλ₯Ό μ μΈν κ°μ²΄ or null
function : ν¨μ
μμ λ€μ― κ°μ§κ° μ΄μ ν΄λΉλλ€.
undefined
undefined
λ var
λ₯Ό μ¨μ λ³μλ₯Ό μ μνμ§λ§ μ΄κΈ°ν νμ§μμ κ²½μ°μ΄λ€.
κΈ°λ³Έμ μΌλ‘ μ΄κΈ°ννμ§ μμ λ³μμλ νμ undefined
κ° ν λΉλλ€.
undefined κ°μ΄ ν λΉλ λ³μμ μ μλμ§ μμ λ³μλ₯Ό ꡬλΆν μ μμ΄μΌνλ€. μμ§ μ μν μ μλ λ³μμ μ€νν μ μλ μ‘°μ μ typeof
λΏμ΄λ€.
Null
Null νμ
μμ κ° νλλ§μ κ°λλ€. null
μ λΉ κ°μ²΄λ₯Ό κ°λ¦¬ν€λ ν¬μΈν°μ΄λ―λ‘ typeof
λ₯Ό νΈμΆνλ©΄ object
λ₯Ό λ°ννλ€.
λ³μ μ μμμ ν΄λΉ λ³μκ° κ°μ²΄λ₯Ό κ°λ¦¬ν€κ² ν κ²μ΄λΌλ©΄ nullλ‘ μ΄κΈ°ννλ κ²μ κΆμ₯νλ€.
undefined
λ null
μμ νμνμΌλ―λ‘ νλ©΄μ μΌλ‘ λμΌν κ²μΌλ‘ μ μνλ€. null
κ³Ό undefined
λ μλ‘ κ΄λ ¨μμ§λ§ λ κ°μ μμ£Ό λ€λ₯΄κ² μ°μΈλ€. λ³μκ°μ λͺ
μμ μΌλ‘ undefined
λ₯Ό ν λΉν΄μλ μλμ§λ§, null
μ κ°μ²΄λ₯Ό μ¬μ©ν΄μΌνμ§λ§ ν΄λΉ κ°μ²΄λ₯Ό μ΄μ©ν μ μμ λ νμ null
μ΄ μμΌνλ€.
boolean
λ°μ΄ν° νμ
true
false
boolean
true
false
string
λΉμ΄μμ§μμ λ¬Έμμ΄ μ λΆ
""(λΉ λ¬Έμμ΄)
number
0μ΄ μλ λͺ¨λ μ«μ, 무νλ(Infinity) ν¬ν¨
0, NaN
object
λͺ¨λ κ°μ²΄
null
undefined
X(ν΄λΉμμ)
undefined
number
λΆλμμμ μ«μλ μμμ μλ 17μ리κΉμ§ μ ννμ§λ§ μ¬μΉμ°μ°μ μμ΄μλ λΆμ ννλ€.
0.1 + 0.2κ° 0.3μ΄ μλ 0.30000000000000004λ₯Ό λ°ννλ κ²μ λ³Ό μ μλ€. λ°λΌμ λΆλμμμ μ«μλ₯Ό λΉκ΅ν λλ μ΄λ¬ν λ²κ·Έλ₯Ό μΈμ§νκ³ λ€λ₯Έ λ°©λ²μ μ¨μΌνλ€.
μ΅μκ°κ³Ό μ΅λκ°μ MIN_VALUE, MAX_VALUEλ₯Ό ν΅ν΄μ μ μ μμΌλ©°, ν΄λΉ μ«μκ° μ ν¨ν λ²μμμ μλμ§λ isFinite()
ν¨μλ₯Ό μ¬μ©νλ©΄λλ€.
NaN
NaNμ Not a NumberμΌλ‘ μλν μ‘°μμ΄ μ€ν¨νμ λ λ°νλλ κ°μ΄λ€. NaNμ μ΄λ ν κ°λ μΌμΉνμ§ μμΌλ©°, NaNλΌλ¦¬λ μΌμΉνμ§ μλλ€.
κ·Έλ¬λ―λ‘, isNaN()
ν¨μλ₯Ό λ°λ‘ μ 곡ν΄μ€λ€.
μμ κ°κ³Ό μ°Έμ‘° κ°
μλ°μ€ν¬λ¦½νΈ λ³μλ λ³μκ° κ°μ ΈμΌν λ°μ΄ν° νμ μ λν κ·μΉμ΄ μμΌλ―λ‘ λ³μμ κ°κ³Ό λ°μ΄ν° νμ μ μ€ν μ€μ λ°λ μ μλ€.
μμ κ°μ λ¨μν λ°μ΄ν°μ΄λ©°, μ°Έμ‘° κ°μ μ¬λ¬ κ°μΌλ‘ ꡬμ±λλ κ°μ²΄λ₯Ό κ°λ¦¬ν¨λ€. λ³μμ κ°μ ν λΉνλ©΄ μλ°μ€ν¬λ¦½νΈ μμ§μ ν΄λΉ κ°μ΄ μμ λ°μ΄ν°μΈμ§ μ°Έμ‘° λ°μ΄ν°μΈμ§ νλ¨νλ€.
μμνμ μ Undefined, Null, Boolean, μ«μ, λ¬Έμμ΄μ΄λ€. μ°Έμ‘° κ°μ λ©λͺ¨λ¦¬μ μ μ₯λ κ°μ²΄λ‘, μλ°μ€ν¬λ¦½νΈλ λ©λͺ¨λ¦¬ 곡κ°μ μ§μ μ‘°μνλ κ²μ΄ λΆκ°λ₯νλ©°, κ°μ²΄λ₯Ό μ‘°μν λλ μ¬μ€ ν΄λΉ κ°μ²΄μ λν μ°Έμ‘°λ₯Ό μ‘°μνλ κ²μ΄λ€.
λμ νλ‘νΌν°
μ°Έμ‘° κ°μ λ€λ£°λλ μΈμ λ νλ‘νΌν°μ λ©μλλ₯Ό μΆκ°νκ±°λ λ°κΎΈκ³ μμ ν μ μλ€.
κ°μ²΄λ₯Ό μμ±ν ν νλ‘νΌν°λ₯Ό μΆκ°νλ€. μ΄ μμ λΆν° κ°μ²΄κ° νκ΄΄λκ±°λ νλ‘νΌν°λ₯Ό λͺ μμ μΌλ‘ μ κ±°νκΈ° μ κΉμ§λ ν΄λΉ νλ‘νΌν°μ μ κ·Όν μ μλ€.
μμκ°μλ νλ‘νΌν°κ° μμΌλ©°, μΆκ°νλ €ν΄λ μ€λ₯κ° λ°μνμ§λ μμ§λ§ λ°λ‘ μ¬λΌμ§λ€. λμ μΌλ‘ νλ‘νΌν°λ₯Ό μΆκ°ν μ μλ κ°μ μ°Έμ‘°κ° λΏμ΄λ€.
κ° λ³΅μ¬
μμ κ°μ λ€λ₯Έ λ³μλ‘ λ³΅μ¬ν λλ νμ¬ μ μ₯λ κ°μ μλ‘ μμ±ν λ€μ μλ‘μ΄ λ³μμ 볡μ¬νλ€.
μ¬κΈ°μ 볡μ¬λ κ° num2λ num1μ μ μ₯λ κ°κ³Όλ μμ ν λΆλ¦¬λμ΄μλ κ²μ νμΈν μ μλ€.
μ°Έμ‘° κ°μ κ°μ²΄λ₯Ό 볡μ¬νλ©΄ κ·Έ κ°μ΄ κ°μ²΄ μμ²΄κ° μλλΌ νμ μ μ₯λ κ°μ²΄λ₯Ό κ°λ¦¬ν€λ ν¬μΈν°μ΄λ€.
λ€μκ³Ό κ°μ΄ κ°μ²΄λ₯Ό μ‘°μνλ©΄ λ€λ₯Έ κ°μ²΄μλ μν₯μ΄ κ°λ κ²μ νμΈν μ μλ€.
맀κ°λ³μ
ECMAScriptμ ν¨μ 맀κ°λ³μλ λͺ¨λ κ°μΌλ‘ μ λ¬λλ€. ν¨μ μΈλΆμ μλ κ°μ ν¨μ λ΄λΆμ 맀κ°λ³μμ 볡μ¬λλλ°, μ΄λ λ³μμ κ°μ 볡μ¬νλ κ²κ³Ό κ°λ€. λ³μλ κ°μΌλ‘λ, μ°Έμ‘°λ‘λ μ κ·Όκ°λ₯νμ§λ§ 맀κ°λ³μλ μ€μ§ κ°μΌλ‘λ§ μ λ¬λλ€.
objλ ν¨μμ κ° ννλ‘ μ λ¬λμμ§λ§, μ°Έμ‘°λ₯Ό ν΅ν΄μ κ°μ²΄μ μ κ·Όνλ€. ν¨μ λ΄λΆμμ objμ name νλ‘νΌν°λ₯Ό μΆκ°νλ©΄ ν¨μ μΈλΆμμλ λ°μλλλ° objκ° κ°λ¦¬ν€λ κ²μ νμ μ‘΄μ¬νλ μ μ κ°μ²΄μ΄κΈ° λλ¬Έμ΄λ€.
λ§μ½ person2κ° μ°Έμ‘°λ‘ μ λ¬λμλ€λ©΄, person2μ name νλ‘νΌν° κ°μ Gragλ‘ λ³κ²½λμ΄μΌνμ§λ§ "Faker"κ·Έλλ‘μ΄λ€. ν¨μμ κ°μ μ λ¬νκΈ°λλ¬Έμ ν¨μ λ΄λΆμμ 맀κ°λ³μμ κ°μ΄ λ°λμμμλ λΆκ΅¬νκ³ μλ κ°μ²΄μ λν μ°Έμ‘°λ₯Ό κ·Έλλ‘ μ μ§ν κ²μ΄λ€. ν¨μ λ΄λΆμμ μλ‘μ΄ κ°μ²΄λ₯Ό μμ±νλ©΄, objλ μ§μ κ°μ²΄λ₯Ό κ°λ¦¬ν€λ ν¬μΈν°κ° λλ©°, μ΄ μ§μ κ°μ²΄λ ν¨μκ° μ€νμ λ§μΉλ μκ° μ¦μ νκ΄΄λλ€.
νμ
νλ³
typeof
μ°μ°μλ λ³μκ° μμ νμ
μΈμ§ νμ
νκΈ°μ μ΅μμ΄μ§λ§, μ°Έμ‘°κ°μ λν΄μλ νλ³νκΈ° μ΄λ ΅λ€. μ΄λ¬ν κ²½μ°μ instanceof
λ₯Ό μ¬μ©νλ©΄λλ€.
λͺ¨λ μ°Έμ‘° κ°μ Objectμ μΈμ€ν΄μ€μΈ κ²μΌλ‘ μ μλμ΄ μμΌλ―λ‘ νμ trueλ₯Ό λ°ννλ€.
μ°μ°μ
μΌμΉ/λΆμΌμΉ vs λμΌ/λΉλμΌ μ°μ°μ
λμΌ(==
)/λΉλμΌ(!=
) μ°μ°μμ μΌμΉ(===
)/λΆμΌμΉ(!==
) μ°μ°μλ κ°μ μΌμνμ§λ§ μΌμΉ, λΆμΌμΉ μ°μ°μλ νΌμ°μ°μμ νμ
μ λ³ννμ§ μκ³ κ·Έλλ‘ λΉκ΅νλ€.
λμΌ μ°μ°μ(==
)λ λ¬Έμμ΄μ μ«μλ‘ λ³νν λ€μ λΉκ΅λ₯Ό νλ―λ‘ λ κ°μ΄ λμΌνλ€κ³ λ³Έλ€. νμ§λ§ μΌμΉ μ°μ°μ(===
)λ λ³ννμ§ μμ μνμμ λΉκ΅νλ―λ‘ μΌμΉνμ§ μλ€κ³ λ°ννλ€.
ν¨μ
ECMAScript ν¨μλ 맀κ°λ³μ μ«μλ₯Ό λ°μ§μ§ μμΌλ©° λ°μ΄ν° νμ
λ 체ν¬νμ§ μλλ€. ν¨μμμ 맀κ°λ³μλ₯Ό λ κ° λ°λλ‘ λ§λ€μλλΌλ λ°λμ 맀κ°λ³μ λ κ°λ₯Ό λ겨μΌνλ 건 μλλ€. ECMAScriptμ 맀κ°λ³μκ° λ΄λΆμ μΌλ‘λ λ°°μ΄λ‘ ννλκΈ° λλ¬Έμ΄λ€. μ΄ λ°°μ΄μ νμ ν¨μμ μ λ¬λμ§λ§ ν¨μλ λ°°μ΄μ μ΄λ€ κ°μ΄ λ€μ΄μλμ§ μ²΄ν¬νμ§ μλλ€. ν¨μλ arguments
λΌλ κ°μ²΄λ₯Ό ν΅ν΄μ 맀κ°λ³μ κ°μ μ κ·Όν μ μλ€.
argumentsλ μΈλ±μ€ κ°μΌλ‘ μ κ·Όν μ μλ€.
ECMAScript ν¨μμλ λ€λ₯Έ μΈμ΄μμ μ¬μ©νλ μ€λ²λ‘λ©μ΄ μλ€.κ°μ μ΄λ¦μΌλ‘ ν¨μλ₯Ό μ¬λ¬ λ² μ μνλ©΄ λ§μ§λ§ ν¨μκ° ν λΉλλ€.
Last updated
Was this helpful?