Front/Javascript

Deep Dive: 표현식과 문

akii 2023. 11. 3. 17:26
 표현식과 문

값(Value) : 표현식이 평가되어 생성된 결과

var sum = 10 + 20; // 변수 sum은 10+20이 평가되어 생성된 값 30이 할당됨

 

리터럴(literal) : 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳 등)/ 약속된 기호('',"",[],{},// 등)를 사용해 값을 생성하는 표기법,
자바스크립트 엔진은 런타임에 리터럴을 평가해 값을 생성함

 

표현식(exoression)
: 값으로 평가될 수 있는 문(statement), 리터럴, 식별자, 연산자, 함수 호출등의 조합으로 이뤄짐
// 리터럴 표현식
10   
"Hello"  

// 식별자 표현식 (변수값으로 평가)
person.name
arr[1]
sum

// 연산자 표현식
10 + 20
sum = 10

// 함수,메서드 호출 표현식
square()
person.getName()

 

문(statement)
: 프로그램을 구성하는 기본 단위, 최소 실행 단위, 여러 토큰(문법적으로 더 이상 나눌 수 없는 코드의 기본 요소)으로 구성
// 변수 선언문(변수선언) > 값 평가 ❌ > 표현식 ❌
var x;

// 할당문(값이 할당)> 표현식인 문
x = 5;

// 함수 선언문
function foo(){}

//조건문
if(x > 1){
	console.log(x);
}

// 반복문
for (var i=0; i<2; i++){
	console.log(i);
}

 

- 문을 종료할때는 세미콜론(;)을 사용, 코드 블록(문을 중괄호로 묶은것)은 자체 종결성을 가지기 때문에 붙이지 않음

- 세미콜론은 옵션이기에 생략가능 -> 자바스크립트의 세미콜론 자동 삽입 기능(ASI)

- 값의 평가 유무(변수 할당)에 따라 표현식인 문가 아닌 문으로 나뉨