Front-End/JavaScript

모던 자바스크립트 Deep Dive - 표현식과 문

김검정 2023. 8. 11. 19:48

리터럴(literal) 은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 의미한다.

3 // 정수 리터럴
true // 불리언 리터럴
{name : 'Lee', address : 'Seoul'} // 객체 리터럴

표현식

표현식(expression)은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.

값으로 평가될 수 있는 문은 모두 표현식이다.

  • 표현식은 단일 값을 생성한다.
  • 값으로 평가될 수 있는 문은 전부 표현식이다.
  • 값 자체도 하나의 값이기 때문에 표현식이다.
  • 리터럴은 하나의 값으로 평가되기 때문에 표현식이다.\
// 리터럴 표현식
10
'Hello'

// 식별자 표현식(선언이 이미 되어있다고 가정)
sum
person.name
arr[1]

// 연산자 표현식
10 + 20
sum = 10
sum !== 10

// 함수/메서드 호출 표현식(선언이 이미 되어있다고 가정)
square()
person.getName()

 

문(statement)은 프로그램을 구성하는 기본 단위이자 최소 실행 단위. 문의 집합으로 이루어진게 프로그램이며, 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍이다.

 

문은 여러개의 토큰으로 구성되는데, 토큰이란 문법적인 의미를 가지며, 문법으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.

문과 토큰

// 변수 선언문
var x;

// 할당문
x = 5;

// 함수 선언문
function add() {}

// 조건문
if (x > 1) {alert(x);}

 

문에는 표현식인 문과 표현식이 아닌 문이 있다. 표현식인 문은 값으로 평가될 수있는 문이며, 표현식이 아닌 문은 값으로 평가될 수 없는 문을 말한다.

 

// 변수 선언문은 표현식이 아닌 문이다.
var x;

// 할당문은 자체가 표현식이지만 완전한 문이기도 하다. 즉 할당문은 표현식인 문이다.
x = 102;