JS Deep Dive-05. 표현식과 문

CHO WanGi·2024년 1월 5일

Javascript

목록 보기
11/20

값 = 표현식이 평가되어 생성된 결과를 말함
변수 = 하나의 을 저장하기 위해 확보된 메모리 공간 = 그 메모리 공간을 식별하기 위해 붙인 이름

리터럴

사람이 쓰는 문자 생긴 것 그대로 사용하여 값을 생성하는 하나의 표기법

-> JS 엔진은 런타임에 리터럴을 평가하여 값을 생성

# 정수리터럴
100
# 2진수 리터럴
0b0100
# 객체 리터럴
{name : 'Lee' ,address : 'Jeju'}
# 배열 리터럴
[1,2,3]
# 함수 리터럴
function(){}
# 정규표현식 리터럴
/[A-Z] + /g

표현식

값으로 평가될 수 있는 문

var score = 100;
score;

두번째 줄의 변수를 참조하는 문 역시 100의 값으로 평가될 수 있기에 표현식!
=> 값이 위치할 수 있는 자리엔 표현식도 위치가능하다

프로그램을 구성하는 기본 단위이자 최소 실행 단위

세미콜론과 세미콜론 자동삽입 기능

세미콜론 -> 문의 종료

  • {}로 묶은 코드 블럭 뒤엔 붙이지 않음

세미콜론 자동 삽입 기능 -> ASI,편리하긴 한데 개발자에게 혼선을 줄 수 있음

function foo () {
	return
    	{}
}
# 원래 의도 : return {};
# ASI : return; {};

ASI 에 의해 빈 객체를 반환하지 않고 undefined 를 반환하게 됨

표현식인 문과 표현식이 아닌 문

구별방법은 간단하게 변수에 할당이 가능한지 아닌지로 판별 가능

var y = var x # SyntaxError

이렇게 변수 선언문은 표현식이 아님.
단, 할당문은 표현식이 맞음(할당한 변수의 값으로 평가될 수 있기 때문)

profile
제 Velog에 오신 모든 분들이 작더라도 인사이트를 얻어가셨으면 좋겠습니다 :)

0개의 댓글