
표현식은 하나의 값(value)으로 평가되는(만들어지는) 코드 조각입니다. JavaScript 엔진은 코드를 읽다가 표현식을 만나면, 그 표현식을 계산하여 단일한 값을 생성합니다.
표현식: 데이터를 생성하는 코드
가장 간단한 예시는 리터럴(값 그 자체)입니다.
42; // 이 코드는 숫자 값 42로 평가됩니다.
"hello"; // 이 코드는 문자열 값 "hello"로 평가됩니다.
변수에 값을 할당하는 것도 표현식을 사용합니다.
let x;
x = 10 + 5; // 10 + 5는 15라는 값으로 평가되는 표현식입니다.
// 이 15라는 값이 x에 할당됩니다.
// let x = 10; 은 변수를 선언하고 값을 할당하는 '문(Statement)'입니다.
// 이 문 안에서 = 오른쪽의 10은 '표현식(Expression)'입니다.
let x = 10;
// if (x > 5) { ... } 는 조건에 따라 코드 실행을 제어하는 '문(Statement)'입니다.
// 이 문 안에서 괄호 안의 x > 5는 true 또는 false로 평가되는 '표현식(Expression)'입니다.
if (x > 5) {
console.log("x는 5보다 큽니다.");
}
핵심: 코드의 특정 부분이 어떤 값으로 대체될 수 있다면, 그것은 표현식입니다.
123 (숫자 리터럴)"Hello" (문자열 리터럴)true (불리언 리터럴)null, undefinedlet myAge = 30;myAge; // 30으로 평가되는 표현식산술 연산자를 사용하여 숫자 값을 만들어냅니다.
10 + 5 // 15로 평가됨
20 - 10 // 10으로 평가됨
x * y // x와 y의 곱으로 평가됨
+ 연산자를 사용하여 문자열을 연결하고 새로운 문자열 값을 만들어냅니다.
"Hello" + " " + "World" // "Hello World"로 평가됨
논리 연산자(&&, ||, !)나 비교 연산자(>, <, ===)를 사용하여 true 또는 false 값을 만들어냅니다.
x > 10 // x가 10보다 크면 true, 아니면 false로 평가됨
a && b // a와 b가 모두 truthy하면 b의 값, 아니면 falsy한 값으로 평가됨
isLoggedIn || false // isLoggedIn이 truthy하면 그 값, 아니면 false로 평가됨
= 연산자를 사용하여 변수에 값을 할당합니다. 할당문 자체가 할당된 값으로 평가되는 특징이 있습니다.
let x;
x = 100; // 이 표현식은 100으로 평가됩니다.
let y;
let z = (y = 5); // y = 5는 5로 평가되고, 그 값이 z에 할당됩니다.
console.log(z); // 5
함수를 호출하면, 그 함수의 반환(return) 값으로 평가됩니다.
function add(a, b) {
return a + b;
}
let result = add(3, 4); // add(3, 4)는 함수가 실행된 후 반환 값인 7로 평가됩니다.
console.log(result); // 7
표현식은 값을 만들어내기 때문에, 값이 위치할 수 있는 곳이라면 어디든 사용할 수 있습니다.
const score = 80 + 15; // 95라는 값이 score에 할당됨console.log("안녕하세요, " + userName + "님"); // 문자열 연결 표현식의 결과가 인자로 전달됨if (userAge >= 20 && hasTicket === true) {
// ...
}function getArea(radius) {
return Math.PI * radius * radius; // 계산 결과 값이 반환됨
}