Expression and statement

잔잔바리디자이너·2022년 2월 25일
0

Javascript

목록 보기
3/12
post-thumbnail

값(Value)이란?

값은 표현식이 평가되어 생성된 결과이다. 여기서 '평가'란 을 해석해서 값을 '생성'하거나 '참조'하는것을 말한다. 생성과 할당은 다르다. 변수에 값을 할당하기 위해서는 할당 이전에 평가되어 값을 생성 해야한다.

리터럴(literal)?

리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다. 숫자 리터럴을 사용해 평가된 숫자 값 3을 생성한다. 런타임에 리터럴을 평가해 값이 생성된다. 리터럴을 사용해 다양한 Data type의 값을 생성 할 수 있다.

표현식(expression)이란?

표현식은 값으로 평가될 수 있는 문이며 표현식과 표현식이 평가된 값은 동등한 관계이다.
var score = 100;
여기서 100은 리터럴이며, js 엔지에 의해 평가되어 값을 생성하므로 리터럴 그 자체로 표현식이된다.
score; //->100
변수 식별자를 참조하면 변수 값으로 평가된다.
표현식은 리터럴, 식별자, 연산자, 함수 호출 등의 조합으로 이루어질 수 있다.

//리터럴 표현식
10
'hello'

//식별자 표현식(선언이 이미 존재한다고 가정)
sum
person.name
arr[0]

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

//함수/메서드 호출 표현식(선언 이미 존재한다고 가정)
square()
person.getName()

문(statement)란?

프로그램을 구성하는 기본 다위이자 최소 실행 단위. 문은 컴퓨터에 내리는 명령이다. 문에는 표현식인 문과 표현식이 아닌 문이 있다. 표현식인 문은 값으로 평가될 수 있는 문이다. 값으로 평가 될 수 있다는 것은 곧 변수에 할당할 수 있다는 것.
var foo = x = 100;

완료 값(completion value)?

크롬 개발자 도구에서 표현식이 아닌 문을 실행하면 언제나 undefined를 출력한다. = 완료값. 반면 표현식인 문을 실행하면 언제나 평가된 값을 반환한다.

0개의 댓글