κ°μ΄λ
κ°μ΄λ μμ΄ νκ°λμ΄ μμ±λ κ²°κ³Όλ₯Ό λ§νλ€. μ΄λ, νκ°λ μμ ν΄μν΄μ κ°μ μμ±νκ±°λ μ°Έμ‘°νλ κ²μ μλ―Ένλ€. μ΄λ κ² νκ°λ λͺ¨λ κ°μ λ°μ΄ν° νμ
μ κ°μ§λ©°, λ©λͺ¨λ¦¬μ 2μ§μμΈ λΉνΈ(bit)μ λμ΄λ‘ μ μ₯λλ€. λ©λͺ¨λ¦¬μ μ μ₯λ κ°μ λ°μ΄ν° νμ
μ λ°λΌ λ€λ₯΄κ² ν΄μλ μ μλ€. λ©λͺ¨λ¦¬μ μ μ₯λ 0100 0001
μ μ«μ νμ
μΌ κ²½μ° 65
μ§λ§, λ¬Έμ νμ
μΌ κ²½μ° 'A'
κ° λλ€.
리ν°λ΄
μ΄λ¬ν κ°μ λ§λ€μ΄ λ΄λ λ°©λ² μ€ νλλ‘ λ¦¬ν°λ΄(literal)μ΄ μλ€. 리ν°λ΄μ μ¬λμ΄ μ΄ν΄ν μ μλ λ¬Έμ νΉμ μ½μλ κΈ°νΈλ₯Ό μ¬μ©ν΄ κ°μ μμ±νλ νκΈ°λ²(notation)μ λ§νλ€. μ¬λμ΄ μ΄ν΄ν μ μλ λ¬Έμμλ μλΌλΉμ μ«μ, μνλ²³, νκΈ λ±μ΄ μκ³ , 미리 μ½μλ κΈ°νΈμλ ' '
, " "
, [ ]
, { }
, //
λ±μ΄ μλ€.
리ν°λ΄ | μμ | λΉκ³ |
μ μ, λΆλμμμ 리ν°λ΄ | 100 (μ μ), 10.5 (λΆλμμμ ) |
|
2μ§μ, 8μ§μ, 16μ§μ 리ν°λ΄ | 0b01000001 (2μ§μ), 0o101 (8μ§μ), 0x41 (16μ§μ) |
8μ§μ, 16μ§μλ ES6μμ λμ |
λ¬Έμμ΄ λ¦¬ν°λ΄ | 'Hello' , "World" |
|
λΆλ¦¬μΈ 리ν°λ΄ | true , false |
|
null, undefined 리ν°λ΄ | null , undefined |
|
κ°μ²΄ 리ν°λ΄ | { name: 'Lee', address: 'Seoul' } |
|
λ°°μ΄ λ¦¬ν°λ΄ | [ 1, 2, 3 ] |
|
ν¨μ 리ν°λ΄ | function() {} |
|
μ κ· ννμ 리ν°λ΄ | /[A-Z]+/g |
μλ°μ€ν¬λ¦½νΈ μμ§μ μ½λκ° μ€νλλ μμ μΈ λ°νμμ μμ κ°μ 리ν°λ΄μ νκ°ν΄ κ°μ μμ±νλ€.
ννμ
ννμ(expression)μ κ°μΌλ‘ νκ°λ μ μλ λ¬Έμ΄λ€. μ¦, ννμμ΄ νκ°λλ©΄ μλ‘μ΄ κ°μ μμ±νκ±°λ κΈ°μ‘΄κ°μ μ°Έμ‘°νλ€.
리ν°λ΄μ νκ°λμ΄ κ°μ μμ±νκΈ° λλ¬Έμ, 리ν°λ΄ μμ ννμμΌλ‘ λ³Ό μ μλ€.
100
, 50+50
μ κ°κ° μ«μ리ν°λ΄, μ«μ리ν°λ΄κ³Ό μ°μ°μλ‘ μ΄λ£¨μ΄μ Έμκ³ κ°μΌλ‘ νκ°λλ―λ‘ ννμμ΄λ€.
var score = 100;
score; // → 100
μμ κ°μ΄ λ³μ μλ³μλ₯Ό μ°Έμ‘°νλ©΄ λ³μ κ°μΌλ‘ νκ°λλ―λ‘ λ§μ°¬κ°μ§λ‘ ννμμ΄λ€.
// 리ν°λ΄ ννμ
10
'Hello'
// μλ³μ ννμ(μ μΈμ΄ μ΄λ―Έ μ‘΄μ¬νλ€κ³ κ°μ )
sum
person.name
arr[1]
// μ°μ°μ ννμ
10 + 20
sum = 10
sum !== 10
// ν¨μ/λ©μλ νΈμΆ ννμ(μ μΈμ΄ μ΄λ―Έ μ‘΄μ¬νλ€κ³ κ°μ )
square()
person.getName()
Q. μ무κ²λ λ°ννμ§ μλ ν¨μλ₯Ό νΈμΆν ν¨μ νΈμΆλ¬Έλ ννμμΈκ°?
μ무κ²λ λ°ννμ§ μλ ν¨μλ κΈ°λ³Έμ μΌλ‘undefined
λ₯Ό λ°ννλ€. λ°λΌμ, κ·Έλ¬ν ν¨μλ₯Ό νΈμΆνλ ν¨μ νΈμΆλ¬Έμ κ²°κ³Όμ μΌλ‘undefined
λΌλ κ°μ νκ°νκ² λλ€. λ°λΌμ ν΄λΉ ν¨μ νΈμΆλ¬Έλ ννμμ΄λ€.
λ¬Έ
λ¬Έ(statement)μ νλ‘κ·Έλ¨μ ꡬμ±νλ κΈ°λ³Έ λ¨μμ΄μ, μ΅μ μ€ν λ¨μλ€. λ¬Έμ μ§ν©μΌλ‘ μ΄λ£¨μ΄μ§ κ²μ΄ λ°λ‘ νλ‘κ·Έλ¨μ΄λ©°, λ¬Έμ μμ±νκ³ μμμ λ§κ² λμ΄νλ κ²μ΄ νλ‘κ·Έλλ°μ΄λ€.
λ¬Έμ μ¬λ¬ κ°μ ν ν°(token)μΌλ‘ ꡬμ±λλ€. ν ν°μ΄λ λ¬Έλ²μ μΈ μλ―Έλ₯Ό κ°μ§λ©°, λ¬Έλ²μ μΌλ‘ λ μ΄μ λλ μ μλ μ½λμ κΈ°λ³Έ μμλ₯Ό μλ―Ένλ€. ν€μλ, μλ³μ, μ°μ°μ, 리ν°λ΄, μΈλ―Έμ½λ‘ (;
)μ΄λ λ§μΉ¨ν(.
) λ±μ νΉμ κΈ°νΈ λͺ¨λ κ°κ° λ¬Έλ²μ μΈ μλ―Έλ₯Ό κ°μ§κ³ μκ³ , λ¬Έλ²μ μΌλ‘ λ μ΄μ λλ μ μλ μμμ΄λ―λ‘ λͺ¨λ ν ν°μ΄λ€.
λ¬Έμ μ»΄ν¨ν°μ λ΄λ¦¬λ λͺ λ ΉμΌλ‘, λͺ λ Ήλ¬Έμ΄λΌκ³ λ λΆλ₯Έλ€. λ¬Έμ΄ μ€νλλ©΄ λͺ λ Ήμ΄ μ€νλλ€. μ΄λ¬ν λ¬Έμ μ μΈλ¬Έ, ν λΉλ¬Έ, λ°λ³΅λ¬Έ λ±μΌλ‘ ꡬλΆν μ μλ€.
ννμμΈ λ¬Έκ³Ό ννμμ΄ μλ λ¬Έ
λ¬Έμλ ννμμΈ λ¬Έκ³Ό ννμμ΄ μλ λ¬Έμ΄ μλ€. μ¦, λͺ¨λ ννμμ λ¬Έμ΄ λ μ μμ§λ§, λͺ¨λ λ¬Έμ΄ ννμμ΄ λλ κ²μ μλλ€. λμ ꡬλ³νλ κ°μ₯ κ°λ¨νκ³ λͺ λ£ν λ°©λ²μ λ¬Έμ λ³μμ ν λΉν΄ 보λ κ²μ΄λ€. ννμμΈ λ¬Έμ κ°μΌλ‘ νκ°λλ―λ‘ λ³μμ ν λΉν μ μμ§λ§, ννμμ΄ μλ λ¬Έμ κ°μΌλ‘ νκ°ν μ μμΌλ―λ‘ μλ¬κ° λ°μνλ€.
var foo = var x; // SyntaxError: Unexpected token var
var foo = var x = 100; // SyntaxError: Unexpected token var
λ³μ μ μΈλ¬Έμ κ°μΌλ‘ νκ°λ μ μμΌλ―λ‘ μμ κ°μ΄ λ³μ μ μΈλ¬Έ μ체λ₯Ό λ³μμ ν λΉνλ €κ³ νλ©΄ λ¬Έλ² μλ¬κ° λ°μνλ€. μ μμ μ 2λ²μ§Έ μ€μ var x = 100;
μ λ³μ μ μΈκ³Ό κ° ν λΉμ΄ κ²°ν©λ ννλ‘ κ°μΌλ‘ νκ°ν μ μμΌλ―λ‘ λ§μ°¬κ°μ§λ‘ λ¬Έλ² μλ¬κ° λ°μνλ€.
var foo = x = 100;
console.log(foo); // 100
λ°λλ‘ λ³μμ κ°μ ν λΉλ§ νλ ν λΉλ¬Έμ ν λΉν κ°μΌλ‘ νκ°λκΈ° λλ¬Έμ x = 100;
μ 100
μΌλ‘ νκ°λκ³ , foo
λ³μμ 100μ΄ ν λΉλλ€.
μλ£κ°(completion value)
ν¬λ‘¬ κ°λ°μ λꡬμμ ννμμ΄ μλ λ¬Έμ μ€ννλ©΄ νμ undefined
λ₯Ό μΆλ ₯νλ€. μ΄κ²μ μλ£ κ°μ΄λΌκ³ νλ€.
λ§μ½ ννμμΈ λ¬Έμ ν¬λ‘¬ κ°λ°μ λꡬμμ μ€ννλ©΄, νμ νκ°λ κ°μ μΆλ ₯νλ€.
ν¬λ‘¬ κ°λ°μ λꡬμ λ¬Έμ μ€νν΄μ undefined
κ° λμλ€κ³ ν΄μ νμ κ·Έκ² μλ£κ°μ΄κ³ , ννμμ΄ μλ λ¬Έμ μ€νν κ²μ μλλΌλ μ μ μ£Όμνμ. ννμμ΄ νκ°λ κ°μ΄ undefined
μΌ μ μκΈ° λλ¬Έμ΄λ€.
μ°Έκ³
- μ μ
- μ΄μ λͺ¨
- μΆν
- μν€λΆμ€
- μΆνμΌ
- 2020.09.25