5.1 κ° (value)
κ°(value): ννμ(expression)μ΄ νκ°(evaluate) λμ΄ μμ±λ κ²°κ³Ό
λͺ¨λ κ°μ λ°μ΄ν° νμ
μ κ°μ§λ©°, λ©λͺ¨λ¦¬μ 2μ§μ, λΉνΈμ λμ΄λ‘ μ μ₯λλ€.
λ©λͺ¨λ¦¬μ μ μ₯λ κ°μ λ°μ΄ν° νμ
μ λ°λΌ λ€λ₯΄κ² ν΄μλλ€.
0100 0001μ μμ€ν€ μ½λλ‘ μ«μλ‘λ 65, λ¬Έμλ‘λ 'A'
λ³μμλ 'νλμ κ°'μ μ μ₯νλ€.
κ°μ μμ±νλ λ°©λ²μ λ€μνμ§λ§. κ°μ₯ κΈ°λ³Έμ μΈ λ°©λ²μ 리ν°λ΄μ΄λ€.
5.2 리ν°λ΄ (literal)
리ν°λ΄(literal): μ¬λμ΄ μ΄ν΄ν μ μλ λ¬Έμ λλ μ½μλ κΈ°νΈλ₯Ό μ¬μ©ν΄ κ°μ μμ±νλ νκΈ°λ²(notation)
3;
μ μμ μ 3μ λ¨μ μλΌλΉμ μ«μκ° μλλΌ μ«μ 리ν°λ΄μ΄λ€.
μλ°μ€ν¬λ¦½νΈ μμ§μ λ°νμμ 리ν°λ΄μ νκ°ν΄ κ°μ μμ±νλ€.
리ν°λ΄μ ν΅ν΄ λ€μν data typeμ κ°μ μμ±ν μ μλ€.
5.3 ννμ (expression)
ννμ(expression): κ°μΌλ‘ νκ°λ μ μλ λ¬Έ(statement). ννμμ΄ νκ°λλ©΄ μλ‘μ΄ κ°μ μμ±νκ±°λ κΈ°μ‘΄ κ°μ μ°Έμ‘°νλ€.
κ°μΌλ‘ νκ°λ μ μλ λ¬Έμ λͺ¨λ ννμμ΄λ€.
// 리ν°λ΄ ννμ
10;
("Hello");
// μλ³μ ννμ (μ μΈμ΄ μ΄λ―Έ μ‘΄μ¬νλ€κ³ κ°μ )
sum;
person.name;
arr[1];
// μ°μ°μ ννμ
10 + 20;
sum = 10;
sum !== 10;
// ν¨μ/λ©μλ νΈμΆ ννμ(μ μΈμ΄ μ΄λ―Έ μ‘΄μ¬νλ€κ³ κ°μ )
square();
person.getName();
ννμκ³Ό ννμμ΄ νκ°λ κ°μ λλ±ν κ΄κ³, λμΉ(equivalent)λ€.
λ°λΌμ ννμμ κ°μ²λΌ μ¬μ©ν μ μλ€.
ννμμ λ€λ₯Έ ννμμ μΌλΆκ° λμ΄ μλ‘μ΄ κ°μ λ§λ€μ΄λΌ μ μλ€.
5.4 λ¬Έ (statement)
λ¬Έκ³Ό ννμμ ꡬλ³νκ³ ν΄μν μ μμ΄μΌ νλ€.
λ¬Έ(statement): νλ‘κ·Έλ¨μ ꡬμ±νλ κΈ°λ³Έ λ¨μμ΄μ μ΅μ μ€ν λ¨μ.
λ¬Έ = λͺ
λ Ήλ¬Έ. (μ»΄ν¨ν°μ λ΄λ¦¬λ λͺ
λ Ή)
λ¬Έμ μ¬λ¬ ν ν°μΌλ‘ ꡬμ±λλ€.
ν ν°(token): λ¬Έλ²μ μΈ μλ―Έλ₯Ό κ°μ§λ©°, λ¬Έλ²μ μΌλ‘ λ μ΄μ λλμ μλ μ½λμ κΈ°λ³Έ μμ.
μ μΈλ¬Έ, ν λΉλ¬Έ, 쑰건문, λ°λ³΅λ¬Έ λ±μΌλ‘ ꡬλΆν μ μλ€.
5.5 μΈλ―Έμ½λ‘ κ³Ό μΈλ―Έμ½λ‘ μλ μ½μ κΈ°λ₯
μΈλ―Έμ½λ‘ (;)μ λ¬Έμ μ’
λ£λ₯Ό λνλ.
μλ°μ€ν¬λ¦½νΈ μμ§μ μΈλ―Έμ½λ‘ μΌλ‘ λ¬Έμ΄ μ’
λ£ν μμΉλ₯Ό νμ
νκ³ μμ°¨μ μΌλ‘ νλμ© λ¬Έμ μ€νν¨.
λ¨, 0κ° μ΄μμ λ¬Έμ μ€κ΄νΈλ‘ λ¬Άμ μ½λ λΈλ‘({ ...}) λ€μλ λΆμ΄μ§ μμ. μ΄λ¬ν μ½λ λΈλ‘μ μΈμ λ λ¬Έμ μ’
λ£λ₯Ό μλ―Ένλ μ체 μ’
κ²°μ±(self closing)μ κ°κΈ° λλ¬Έ.
ex) ifλ¬Έ, forλ¬Έ, ν¨μ λ±
μΈλ―Έμ½λ‘ μ μλ΅ κ°λ₯. μλ°μ€ν¬λ¦½νΈ μμ§μμ μΈλ―Έμ½λ‘ μλ μ½μ κΈ°λ₯(ASI, automatic semicolon insertion)μ΄ μ묡μ μΌλ‘ μνλκΈ° λλ¬Έ.
5.6 ννμμΈ λ¬Έκ³Ό ννμμ΄ μλ λ¬Έ
ννμμ λ¬Έμ μΌλΆμΌ μλ μκ³ κ·Έ μμ²΄λ‘ λ¬Έμ΄ λ μλ μλ€.
ννμμΈ λ¬Έκ³Ό ννμμ΄ μλ λ¬Έμ ꡬλ³νλ κ°μ₯ κ°λ¨νκ³ λͺ
λ£ν λ°©λ²μ λ³μμ ν λΉν΄ 보λ κ²μ΄λ€. ννμμΈ λ¬Έμ κ°μΌλ‘ νκ°λλ―λ‘ λ³μμ ν λΉν μ μλ€.
-> κ°μΌλ‘ νκ°λ μ μμΌλ©΄ λ¬Έ.
μλ£ κ°(completion value):
ν¬λ‘¬ κ°λ°μ λꡬμμ ννμμ΄ μλ λ¬Έμ μ€ννλ©΄ μΈμ λ undefinedλ₯Ό μΆλ ₯νλ€. - μ΄λ₯Ό μλ£ κ°μ΄λΌ νλ€.
π μ§λ¬Έ: ννμ(expression)κ³Ό λ¬Έ(statement)μ μ°¨μ΄μ μ 무μμΈκ°μ?
γλͺ¨λμλ°μ€ν¬λ¦½νΈ Deep Diveγ λ₯Ό 곡λΆνλ©° μ 리ν κΈ°λ‘μ λλ€