값으로 평가될 수 있는 문은 모두 표현식이다.
함수 자체도 표현식이다. (실행하면 값이 되니까)
리터럴 표현식(literal: 문자 그대로의)
10
'Hello'
식별자 표현식(선언이 이미 존재한다고 가정)
sum;
person.name;
arr[1];
연산자 표현식
10 + 20;
sum = 10;
sum === 10;
sum !== 10;
함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
square();
person.getName();
변수 선언문 (값으로 평가될 수 없기 때문에 표현식이 아니다.)
var x;
표현식 문(할당문)
x = 5;
함수 선언문
const foo = () => {
console.log("on");
};
조건문
if (x > 4) {
console.log(x);
}
s;
반복문
for (let i = 0; i < 2; i++) {
console.log(i);
}
표현식인 문은 값처럼 사용할 수 있다.
x = 100;
let foo = (x = 100);
console.log(foo);