문은 프로그램의 행동을 지시하며 값을 반환하지 않음. 의미론적으로는 코드의 흐름을 제어하거나 변수를 선언하는 등의 역할을 수행함. 예를 들어, 변수를 선언하는 var x = 10;
, 조건문인 if
문, 반복문인 for
문 등이 모두 문(statement) 이다. 문은 값으로 평가되지 않는다.
var x = 10; // 변수를 선언하는 문
if (x > 5) { // 조건문이 포함된 문
console.log("x는 5보다 큽니다.");
}
식은 값을 생성하며 이를 반환함. 또한 다른 식의 일부가 될 수 있다는 특징이 있음.
값, 변수, 연산자, 함수 호출 등이 모두 식(Expression)이다.
식은 결과값을 반환하며, 이 결과값은 다른 표현식이나 문에서 사용될 수 있다.
var y = 20; // 값이 할당된 변수
var result = x + y; // 표현식 (x와 y의 합)
ex)
// 1. 문과 식의 차이를 모르고 연산자로만 조건을 표현하는 경우
function printAdultStatus(age: number): void {
age >= 18 && console.log("You are an adult."); // 문과 식의 차이를 혼동하고 있는 예
// 올바른 사용은 if 문을 사용하는 것입니다.
}