[JS] ν‘œν˜„μ‹κ³Ό λ¬Έ

2025. 2. 19. 15:45·🧑 JavaScript
λͺ©μ°¨
  1. πŸ“ κ°’(value)
  2. πŸ“ λ¦¬ν„°λŸ΄(literal)
  3. πŸ“ ν‘œν˜„μ‹(expression)
  4. πŸ’‘ λ¦¬ν„°λŸ΄κ³Ό ν‘œν˜„μ‹ 차이점
  5. πŸ“ λ¬Έ(statement)
  6. πŸ“ ν‘œν˜„μ‹μΈ λ¬Έκ³Ό ν‘œν˜„μ‹μ΄ μ•„λ‹Œ λ¬Έ
728x90
λ°˜μ‘ν˜•

πŸ“š ν‘œν˜„μ‹κ³Ό λ¬Έ

πŸ“ κ°’(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)μ΄λž€ 문법적인 의미λ₯Ό κ°€μ§€λ©°, λ¬Έλ²•μ μœΌλ‘œ 더 이상 λ‚˜λˆŒ 수 μ—†λŠ” μ½”λ“œμ˜ κΈ°λ³Έ μš”μ†Œλ₯Ό 의미
    • 예 : ν‚€μ›Œλ“œ, μ‹λ³„μž, μ—°μ‚°μž, λ¦¬ν„°λŸ΄, 세미클둠(;), λ§ˆμΉ¨ν‘œ(.) λ“±
    • κ°„λ‹¨ν•˜κ²Œ 쑰건문, μ„ μ–Έλ¬Έ, λ°˜λ³΅λ¬Έμ„ μƒκ°ν•˜λ©΄ λœλ‹€.

 

πŸ“ ν‘œν˜„μ‹μΈ λ¬Έκ³Ό ν‘œν˜„μ‹μ΄ μ•„λ‹Œ λ¬Έ

λ¬Έ(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

 

728x90
λ°˜μ‘ν˜•
μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'🧑 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
  1. πŸ“ κ°’(value)
  2. πŸ“ λ¦¬ν„°λŸ΄(literal)
  3. πŸ“ ν‘œν˜„μ‹(expression)
  4. πŸ’‘ λ¦¬ν„°λŸ΄κ³Ό ν‘œν˜„μ‹ 차이점
  5. πŸ“ λ¬Έ(statement)
  6. πŸ“ ν‘œν˜„μ‹μΈ λ¬Έκ³Ό ν‘œν˜„μ‹μ΄ μ•„λ‹Œ λ¬Έ
'🧑 JavaScript' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [JS/νŠΈλŸ¬λΈ”μŠˆνŒ…] 404 였λ₯˜ ν•΄κ²°ν•˜κΈ°(Failed to load resource: ~ )
  • [JS] λ³€μˆ˜(Variable)
  • [JS] λ°μ΄ν„°νƒ€μž…(Data Type)
  • [JS] Math.floor()λž€?
Genie_.
Genie_.
λ‚΄κ°€ κ³΅λΆ€ν•˜λŠ” 지식을 λ³΅μŠ΅ν•˜κ³  κΈ°λ‘ν•˜λŠ” κ³΅κ°„μž…λ‹ˆλ‹€ πŸ’¬
  • Genie_.
    Geine Dev
    Genie_.
  • 전체
    였늘
    μ–΄μ œ
    • 전체 (153)
      • πŸ•ΉοΈ μ½”λ”©ν…ŒμŠ€νŠΈ (37)
        • μ½”λ“œνŠΈλ¦¬ (13)
        • λ°±μ€€ (17)
        • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ (7)
      • 🧑 JavaScript (9)
      • πŸ’™ React (0)
      • πŸ’œ HTML,CSS (38)
      • πŸ’š Spring (6)
      • ❀️ JAVA (13)
        • Basic (13)
      • 🌟 CS (1)
      • ❄️ 내일배움캠프 7κΈ° (41)
      • πŸ… 자격증 (6)
        • μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ (0)
        • SQLD (3)
        • μ»΄ν“¨ν„°ν™œμš©λŠ₯λ ₯2κΈ‰ (3)
      • πŸ—¨ GIT (1)
      • 🌰 μŠ€ν„°λ”” (1)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • κΈ€μ“°κΈ°
  • 곡지사항

    • λ©”λͺ¨
  • λ°˜μ‘ν˜•
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.0
Genie_.
[JS] ν‘œν˜„μ‹κ³Ό λ¬Έ

κ°œμΈμ •λ³΄

  • ν‹°μŠ€ν† λ¦¬ ν™ˆ
  • 포럼
  • 둜그인
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.