값은 표현식이 평가되어 생성된 결과를 말한다.
//1
10 + 20;
//2
var sum = 10 + 20;
여기서 sum에 할당되는 것은 10 + 20
이 아닌 30
이 할당된다. 즉 할당 이전 평가되어 값을 생성해야 한다.
리터럴은 코드에서 값을 직접 표현하는 방식이다.
쉽게 말해 정수
, 실수
, 문자열
, 객체
, 불리언
등 값을 의미한다.
값으로 평가될 수 있는 문들 모두 표현식이다.
1) 10 + 10 //20이라는 값이 나옴 (표현식)
2) var score = 50 + 50 //여기서 50 + 50이 부분은 표현식, 100이라는 값이 나옴
3) score // 100이라는 값이 나옴, 표현식
가장 간단한 방법은 변수에 할당해봐서 할당할 수 있어면 표현식, 그렇지 않고 에러가 발생하면 표현식이 아닌 문이다.
var x; // 표현식일까, 아닐까
// 변수에 대입해보기
var test = var x //에러발생, 이것은 표현식이 아니다.
1 + 2 // 표현식일까, 아닐까
// 변수에 대입하기
var test = 1 + 2 //에러발생 안함, 이것은 표현식이다.
x = 100 //표현식일까, 아닐까
//변수에 대입하기
var test = x = 100 //에러발생안함, 이것은 표현식이다.
면접 예상 질문
표현식과 표현식이 아닌 문 차이가 무엇일까요?
표현식은 값으로 표현할 수 있는 문을 의미합니다. 그렇기 때문에 표현식은 변수 할당이 가능합니다.
반면 표현식이 아닌 문은 변수 할당시 에러가 발생합니다.