05_ννμκ³Ό λ¬Έ
5.1 κ°(value)
κ°(value)μ μ(ννμ expression)μ΄ νκ°(evaluate)λμ΄ μμ±λ κ²°κ³Όλ₯Ό λ§νλ€.
// 10 + 20 μ νκ°λμ΄ μ«μ 30μ μμ±νλ€.
10 + 20; // 30
λͺ¨λ κ°μ λ°μ΄ν° νμ μ κ°μ§λ©°, λ©λͺ¨λ¦¬μ 2μ§μ, μ¦ λΉνΈ(bit)μ λμ΄λ‘ μ μ₯λλ€.
- λ©λͺ¨λ¦¬μ μ μ₯λ κ°μ λ°μ΄ν° νμ μ λ°λΌ λ€λ₯΄κ² ν΄μλ μ μλ€.
- ex) λ©λͺ¨λ¦¬μ μ μ₯λ κ° 0100 0001μ μ«μλ‘ ν΄μνλ©΄ 65μ§λ§, λ¬Έμλ‘ ν΄μνλ©΄ Aλ€.
λ³μ ?
νλμ κ°μ μ μ₯νκΈ° μν΄ ν보ν λ©λͺ¨λ¦¬ κ³΅κ° μ체 or κ·Έ λ©λͺ¨λ¦¬ 곡κ°μ μλ³νκΈ° μν΄ λΆμΈ μ΄λ¦
-> λ³μμ ν λΉλλ κ²μ κ°μ΄λ€.
5.2 리ν°λ΄(literal)
리ν°λ΄(literal)μ μ¬λμ΄ μ΄ν΄ν μ μλ λ¬Έμ λλ μ½μλ κΈ°νΈλ₯Ό μ¬μ©ν΄ κ°μ μμ±νλ νκΈ°λ²(notation)μ λ§νλ€.
- 리ν°λ΄μ μ¬λμ΄ μ΄ν΄ν μ μλ λ¬Έμ(μλΌλΉμ μ«μ, μνλ²³, νκΈ λ±) λλ
- 미리 μ½μλ κΈ°νΈ('', "", ., [], {}, // λ±)λ‘ νκΈ°ν μ½λ. 리ν°λ΄μ΄ κ°μΌλ‘ νκ°λλ€λ©΄, 리ν°λ΄λ ννμμ΄λ€.
리ν°λ΄ | μμ |
---|---|
μ μ 리ν°λ΄ | 100 |
λΆλμμμ 리ν°λ΄ | 10.5 |
2μ§μ 리ν°λ΄ | 0b01000001 |
8μ§μ 리ν°λ΄ | 0o101 |
16μ§μ 리ν°λ΄ | 0x41 |
λ¬Έμμ΄ λ¦¬ν°λ΄ | 'hello' "world" |
λΆλ¦¬μΈ 리ν°λ΄ | true false |
null 리ν°λ΄ | null |
undefined 리ν°λ΄ | undefined |
κ°μ²΄ 리ν°λ΄ | { name: 'april', address: 'Seoul' } |
λ°°μ΄ λ¦¬ν°λ΄ | [ 1, 2, 3 ] |
ν¨μ 리ν°λ΄ | function() {} |
μ κ·ννμ 리ν°λ΄ | /[A-Z]+/g |
5.3 ννμ(expression)
ννμμ κ°μΌλ‘ νκ°λ μ μλ λͺ¨λ λ¬Έ(statement)μ΄λ€.
ννμμ΄ νκ°λλ©΄ μλ‘μ΄ κ°μ μμ±νκ±°λ κΈ°μ‘΄ κ°μ μ°Έμ‘°νλ€.
- μμ 1
const score = 100;
100μ 리ν°λ΄μ΄μ§λ§, μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ νκ°λμ΄ κ°μ μμ±νλ―λ‘ λ¦¬ν°λ΄μ κ·Έ μμ²΄λ‘ ννμ μ΄λ€.
- μμ 2
const score = 50 + 50;
50 + 50 μ 리ν°λ΄κ³Ό μ°μ°μλ‘ μ΄λ£¨μ΄μ Έ μλ€. νμ§λ§, 50 + 50 λ§μ°¬κ°μ§λ‘ νκ°λμ΄ μ«μ κ° 100 μ μμ±νλ―λ‘ ννμμ΄λ€.
- μμ 3
score;
λ³μ score λ₯Ό μ°Έμ‘°νλ©΄ λ³μ κ°μΌλ‘ νκ°λλ€. μλ³μ μ°Έμ‘°λ κ°μ μμ±νμ§λ μμ§λ§, κ°μΌλ‘ νκ°λλ―λ‘ ννμμ΄λ€.
- μ 리
// 리ν°λ΄ ννμ
10
'Hello'
// μλ³μ ννμ(μ μΈμ΄ μ΄λ―Έ μ‘΄μ¬νλ€κ³ κ°μ )
sum
person.name
arr[1]
// μ°μ°μ ννμ
10 + 20
sum = 10
sum !== 10
// ν¨μ/λ©μλ νΈμΆ ννμ (μ μΈμ μ΄λ―Έ μ‘΄μ¬νλ€κ³ κ°μ )
square()
person.getName()
ννμμ 리ν°λ΄, μλ³μ, μ°μ°μ, ν¨μ νΈμΆ λ±μ μ‘°ν©μΌλ‘ μ΄λ€μ§ μ μλ€.
λ€μν ννμμ΄ μμ§λ§ κ°μΌλ‘ νκ°λλ€λ μ μ λͺ¨λ λμΌνλ€.
5.4 λ¬Έ(statement)
λ¬Έ(statement)μ νλ‘κ·Έλ¨μ ꡬμ±νλ κΈ°λ³Έ λ¨μμ΄μ μ΅μ μ€ν λ¨μ
λ¬Έμ μ§ν©μΌλ‘ μ΄λ€μ§ κ²μ΄ νλ‘κ·Έλ¨μ΄λ©°,
λ¬Έμ μμ±νκ³ μμμ λ§κ² λμ΄νλ κ²μ΄ νλ‘κ·Έλλ°μ΄λ€.
λ¬Έμ μ¬λ¬ ν ν°(token)μΌλ‘ ꡬμ±λλλ°, ν ν°μ΄λ λ¬Έλ²μ μΈ μλ―Έλ₯Ό κ°μ§λ©°
λ¬Έλ²μ μΌλ‘ λ μ΄μ λλ μ μλ μ½λμ κΈ°λ³Έ μμλ₯Ό μλ―Ένλ€.
- λ¬Έμ λͺ λ Ήλ¬Έμ΄λΌκ³ λ λΆλ₯΄λλ°, μ»΄ν¨ν°μ λ΄λ¦¬λ λͺ λ Ήμ΄κΈ° λλ¬Έ
5.5 μΈλ―Έμ½λ‘ (;)
μΈλ―Έμ½λ‘ (;)μ λ¬Έμ μ’ λ£λ₯Ό μλ―Ένλ©° μ΅μ μ΄λΌ μλ΅ κ°λ₯ νλ€.
- μλ°μ€ν¬λ¦½νΈ μμ§μ μΈλ―Έμ½λ‘ μΌλ‘ λ¬Έμ μ’ λ£ν μμΉλ₯Ό νμ , μμ°¨μ μΌλ‘ νλμ© λ¬Έμ μ€ννλ€.
- λ¨, μ½λ λΈλ‘({ ... })λ€μλ μΈλ―Έμ½λ‘ μ λΆμ΄μ§ μλλ°,
μ½λ λΈλ‘μ μΈμ λ λ¬Έμ μ’ λ£λ₯Ό μλ―Ένλ μ체 μ’ κ²°μ±(self closing)μ κ°κΈ° λλ¬Έ.
5.6 ννμμΈ λ¬Έκ³Ό ννμμ΄ μλ λ¬Έ
ννμμΈ λ¬Έ: κ°μΌλ‘ νκ°λ μ μλ λ¬Έμ΄λ©°,
ννμμ΄ μλ λ¬Έ: κ°μΌλ‘ νκ°λ μ μλ λ¬Έμ λ§νλ€
var x; // λ³μ μ μΈλ¬Έμ κ°μΌλ‘ νκ°λ μ μμΌλ―λ‘ ννμ X
x = 100; // ννμ O
var foo = 10; // ννμ X
if (true) {} // κ°μΌλ‘ νκ°λ μ μμΌλ―λ‘ ννμ X
// λ³μμ ν λΉν΄λ³΄κΈ°!
var foo = var x; // ννμμ΄ μλ λ¬Έμ κ°μ²λΌ μ¬μ©ν μ μλ€.
var foo = x = 100; // ννμμΈ λ¬Έμ κ°μ²λΌ μ¬μ©ν μ μλ€.
'π Book-Talk > λͺ¨λ JS Deep Dive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive_μ°μ°μ (0) | 2022.11.10 |
---|---|
λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive_λ°μ΄ν° νμ (2) | 2022.11.10 |
λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive_λ³μ (0) | 2022.11.09 |
λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive_μλ°μ€ν¬λ¦½νΈλ? (0) | 2022.11.09 |
λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive _νλ‘κ·Έλλ° (0) | 2022.11.09 |