- statements와 expressions
- 우리가 작성하는 모든 자바스크립트 코드는 문장과 표현식으로 구성되어있다.
문장
문장은 어떤 동작이 일어나도록 작성된 최소한의 코드 덩어리 이다.
let x; // 문장 1
x = 3; //문장 2
if( x === 3) {
console.log('x는 3이다.');
}else{
console.log('x는 3이 아니다.');
} // 문장 3
표현식
결과적으로 하나의 값이 되는 모든 코드를 가리킨다.
5 // 표현식 1
'abcd' // 표현식 2
5 + 5 // 표현식 3
'a' + 'b' + 'c' + 'd' // 표현식 4
true && null // 표현식 5
const numbers = [1, 2, 3]; // 표현식이면서 문장
numbers[3]; // 표현식 6
할당식과 함수호출은 문장이면서, 표현식이기도 하다.
title = 'abcd'; // 할당연산자는 값을 할당하는 동작을 하는 문장 + 할당한 값을 그대로 가지고있는 표현식.
printNum(); // 함수 호출은 함수를 실행하는 동작을 하는 문장 + 실행한 함수의 리턴 값을 가지고 있는 표현식.
console.log('a'); // console.log메서드는 콘솔에 아규먼트를 출력하는 동작을 하는 문장 + undefined값을 가지고 있는 표현식.
표현식인 문장과 표현식이 아닌 문장
- 이 둘을 구분하는 방법은 해당 문장을 변수에 할당하거나 함수의 아규먼트로 전달해보는 방법이 있다.
- 에러가 발생한다면 표현식이 아닌 문장이다.
const loopFunction = for (let i = 0; i < 5; i++){
console.log(i);
};
위 코드는 에러가 발생한다. for문은 표현식이 아닌 문장인데, 변수에 할당하려했기 때문이다.
보통 표현식인 문장은 세미콜론으로, 표현식이 아닌 문장은 코드블록으로 범위가 구분된다.
조건을 다루는 표현식
- ES2015이전에는 if문과 switch문밖에 없었다.
- ES2015이후에는 조건연산자 표현식이 생겼다.
조건 ? truty할 때 표현식 : falsy할 때 표현식;
위와 같은 형태로 간결하다.
하지만 표현식이기 때문에 조건마다 변수를 선언해야한다거나, 조건마다 반복문을 실행시킬 수는 없다.
'JavaScript' 카테고리의 다른 글
JavaScript - 객체의 프로퍼티 (0) | 2023.10.11 |
---|---|
JavaScript - Spread (0) | 2023.10.11 |
JavaScript - 함수 다루기 (0) | 2023.10.11 |
JavaScript- 변수와 스코프 (0) | 2023.10.11 |
JavaScript - 데이터타입, 연산자 (1) | 2023.10.11 |