본문 바로가기

JavaScript

JavaScript - 문장과 표현식

  • 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