
JavaScript에서 표현식과 문이 무엇인지 알아보자.
표현식이란 하나의 값으로 평가될 수 있는 코드의 단위를 말한다.
숫자, 문자열, 불리언, 객체, 함수 등 어떤 것도 가능하다.
주로 식별자(변수명), 연산자, 리터럴(값 자체) 등으로 구성된다.
가장 기본적인 표현식으로, 값 자체를 말한다.
10; // 숫자
'hello'; // 문자
true; // 불리언
[1, 2]; // 배열
{a: 1}; // 객체
변수나 함수의 이름을 통해 해당 값이 평가된다.
const x = 10;
x; // 10으로 평가되는 표현식
연산자를 포함아여 하나의 값으로 평가되는 모든 값을 말한다.
값을 변수에 대입하는 연산을 말한다.
let num1 = 1;
let num2 = 5;
일반적인 +, -, *, \와 % 등을 말하며, 계산 결과가 하나의 값으로 평가된다.
let result = num1 + 3;
조건에 따라 값이 참이면 앞, 거짓이면 뒤에 값을 반환한다.
if문의 축약형이라고 볼 수 있다.
let result = num1 < num2 ? 1 : 2;
함수를 호출하면, 그 함수가 반환하는 값이 평가된다.
function add(a, b) { return a + b; }
add(1, 5); // 6으로 평가
console.log()역시 undefined 값을 반환하는 표현식이다.
함수 자체를 값으로 반환하는 표현식이다.
// 익명 함수를 반환하는 표현식
let anonymousFn = function(a, b) { return a + b; };
let arrowFn = (a,b) => { return a + b; };
프로그래밍에서 실행 가능한 최소의 코드 단위를 말한다.
하나의 문은 하나 이상의 표현식을 포함할 수 있으며, 특정 작업을 수행한다.
세미콜론(;)을 이용하여 문의 종료를 나타낼 수 있다.
표현식? 문?
자바스크립트에서는 표현식도 독립적인 문으로 사용될 수 있기 때문에 구분이 모호할 때가 많다.
이를 표현식 문(Expression Statement)이라고 한다.
변수, 함수, 클래스 등을 선언하는 문장을 말한다.
선언하는 것 자체는 어떤 값으로 평가되지 않으며 특정 식별자를 생성하는 작업을 수행한다.
let number; // 변수 선언문
function greet() {} // 함수 선언문
class MyClass {} // 클래스 선언문
참 또는 거짓으로 판별되는 조건에 따라 코드 블록의 실행 여부를 결정하는 문장이다.
if(num1 > num2) {
console.log("num1 값이 num2 값보다 큽니다.");
}
switch (value) {
case 1:
// ...
break;
case 2:
// ...
break;
defaut:
// ...
}
특정 코드 블록을 여러번 반복하도록 지시하는 문장이다.
for (let i = 0; i < 5; i++) {
// ...
}
let j = 0;
while (j < 5) {
// ...
j++;
}
표현식은 그 자체로 하나의 문이 될 수 있다.
하나의 값으로 평가되는 표현식이 독립적으로 사용되어 어떤 작업을 수행하는 것을 표현식 문이라고 한다.
변수에 값을 할당하는 것을 말한다.
할당은 값을 평가하는 동시에 변수를 저장하는 작업을 수행하므로 표현식 문에 해당한다.
num = 1;
num2 = num;
변수가 선언된 후 처음 값을 넣게 된다면 초기화, 그 이후 값을 바꾸는 것을 할당이라 한다.
값을 계산하는 것도 결과적으로 하나으 값으로 평가도는 표현식이며, 이를 독립적으로 사용할 때 계산문이라 한다.
let result = num1 - num2;
주의
let result = num1 - num2;전체는 선언문이자 할당문으로 보는 것이 더 정확하다.
num1 - num2이 부분만을 볼 때 산술 표현식이라 할 수 있다.
중괄호({})로 묶인 여러 문들의 집합으로, 이 자체가 독립적인 문이 된다.
{
let a = 1;
let b = 2;
console.log(a + b);
}