π ννμκ³Ό λ¬Έ
π κ°(value)
κ°(value)
μ μ(ννμ/expression)
μ΄ νκ°(evaluate)
λμ΄ μμ±λ κ²°κ³Όλ₯Ό λ§νλ€.
- νκ°(evaluate) : μμ ν΄μν΄μ
κ°μ μμ±νκ±°λ μ°Έμ‘°νλκ²
π 리ν°λ΄(literal)
리ν°λ΄(literal)
μ μ¬λμ΄ μ΄ν΄ν μ μλ λ¬Έμ λλ μ½μλ κΈ°νΈλ₯Ό μ¬μ©ν΄ κ°μ μμ±νλ νκΈ°λ²(notation)
μλ°μ€ν¬λ¦½νΈ μμ§μ μ½λκ° μ€νλλ μμ μΈ "λ°νμ(runtime)" μ "리ν°λ΄μ νκ°"ν΄ κ°μ μμ±νλ€.
π ννμ(expression)
ννμ(expression)
μ κ°μΌλ‘ νκ°λ μ μλ λ¬Έ(statement)
μ΄λ€.
μ¦, ννμμ΄ νκ°λλ©΄ μλ‘μ΄ κ°μ μμ±νκ±°λ κΈ°μ‘΄ κ°μ μ°Έμ‘°νλ€.
// 리ν°λ΄ ννμ 10; ("Hello"); // μλ³μ ννμ(μ μΈμ΄ μ΄λ―Έ μ‘΄μ¬νλ€κ³ κ°μ ) sum; person.name; arr[1]; // μ°μ°μ ννμ 10 + 20; sum = 10; sum !== 10; // ν¨μ,λ©μλ νΈμΆ ννμ(μ μΈμ΄ μ΄λ―Έ μ‘΄μ¬νλ€κ³ κ°μ ) square(); person.getName();
π‘ 리ν°λ΄κ³Ό ννμ μ°¨μ΄μ
리ν°λ΄(literal)
: κ°μ μ§μ μ λ κ² -> 10, "Hello"ννμ(expression)
: μ°μ° λ±μ ν¬ν¨νμ¬ κ°μ μμ±νλ κ²
π λ¬Έ(statement)
λ¬Έ(statement)
μ νλ‘κ·Έλ¨μ ꡬμ±νλ κΈ°λ³Έ λ¨μμ΄μ μ΅μ μ€ν λ¨μ
- λ¬Έμ μ§ν©μΌλ‘ μ΄λ€μ§ κ² -> νλ‘κ·Έλ¨
- λ¬Έμ μμ±νκ³ μμμ λ§κ² λμ΄νλ κ² -> νλ‘κ·Έλλ°
- λ¬Έμ μ¬λ¬ ν ν°μΌλ‘ ꡬμ±
- ν ν°(token)μ΄λ λ¬Έλ²μ μΈ μλ―Έλ₯Ό κ°μ§λ©°,
λ¬Έλ²μ μΌλ‘ λ μ΄μ λλ μ μλ
μ½λμ κΈ°λ³Έ μμλ₯Ό μλ―Έ - μ : ν€μλ, μλ³μ, μ°μ°μ, 리ν°λ΄, μΈλ―Έν΄λ‘ (;), λ§μΉ¨ν(.) λ±
- κ°λ¨νκ² μ‘°κ±΄λ¬Έ, μ μΈλ¬Έ, λ°λ³΅λ¬Έμ μκ°νλ©΄ λλ€.
- ν ν°(token)μ΄λ λ¬Έλ²μ μΈ μλ―Έλ₯Ό κ°μ§λ©°,
π ννμμΈ λ¬Έκ³Ό ννμμ΄ μλ λ¬Έ
λ¬Έ(statement)
μλ ννμμΈ λ¬Έ
κ³Ό ννμμ΄ μλ λ¬Έ
μ΄ μλ€.
ννμμΈ λ¬Έ
: κ°μΌλ‘ νκ°λ μ μλ λ¬Έννμμ΄ μλ λ¬Έ
: κ°μΌλ‘ νκ°λ μ μλ λ¬Έ
ννμμΈ λ¬Έκ³Ό ννμμ΄ μλ λ¬Έμ ꡬλ³νλ κ°μ₯ κ°λ¨νκ³ λͺ λ£ν λ°©λ²μ λ³μμ ν λΉν΄ 보λκ²
// ννμμ΄ μλ λ¬Έμ κ°μ²λΌ μ¬μ©ν μ μλ€. var foo = var x; // SyntaxError: Unexpected token var
μ μμ μ λ³μ μ μΈλ¬Έμ ννμμ΄ μλ λ¬Έμ΄λ€.
λ€μ λ§ν΄ κ°μΌλ‘ νκ°λ μ μλ€.
λ°λΌμ λ³μ μ μΈλ¬Έμ κ°μ²λΌ μ¬μ©ν μ μλ€.
// λ³μ μ μΈλ¬Έμ ννμμ΄ μλ λ¬Έμ΄λ€. var x; // ν λΉλ¬Έμ κ·Έ μμ²΄κ° ννμμ΄μ§λ§ μμ ν λ¬Έμ΄κΈ°λ νλ€. μ¦, ν λΉλ¬Έμ ννμμΈ λ¬Έμ΄λ€. x = 100;
μ μμ μ ν λΉλ¬Έ x = 100μ κ·Έ μμ²΄κ° ννμμ΄λ€. μ¦, ν λΉλ¬Έμ ννμμΈ λ¬Έμ΄κΈ° λλ¬Έμ κ°μ²λΌ μ¬μ©ν μ μλ€.
https://github.com/gxnie/modernJS__deepDive/blob/main/ch05/Expression.md
modernJS__deepDive/ch05/Expression.md at main Β· gxnie/modernJS__deepDive
Contribute to gxnie/modernJS__deepDive development by creating an account on GitHub.
github.com
'π§‘ JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JS/νΈλ¬λΈμν ] 404 μ€λ₯ ν΄κ²°νκΈ°(Failed to load resource: ~ ) (0) | 2025.04.02 |
---|---|
[JS] λ³μ(Variable) (1) | 2025.03.18 |
[JS] λ°μ΄ν°νμ (Data Type) (0) | 2025.02.14 |
[JS] Math.floor()λ? (0) | 2025.02.10 |
[JS] nullκ³Ό undefinedμ μ°¨μ΄ (0) | 2024.12.27 |