EtoC

표현식과 문 본문

Language/JavaScript

표현식과 문

게리드 2023. 7. 31. 13:44

변수는 하나의 값을 저장하기위해 확보한 메모리공간자체 또는 그 메모리 공간을 식별하기위해 붙인 이름으로 변수에 할당되는 것이 값이다.

1. 값(value) 과 리터럴(literal)

1. 값

값은 표현식(statement)을 평가(evaluate),참조하여 생성된 결과를 말한다.
모든 값은 데이터타입을 가지며 메모리에 2진수(bit)로 저장된다.

2. 리터럴

리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호("", ., [], {})를 사용하여 값을 생성하는 표기법이다.

js에서 3은 단순한 숫자가 아니라 숫자 리터럴이다. 사람이 이해하는 숫자 3을 사용해 숫자 리터럴 3을 코드에 기술하면 자바스크립트 엔진이 이를 평가하여 숫자 값 3을 생성한다.

리터럴의종류

종류 예시 종류 예시
정수 1 객체 {key: value}
문자열 'hi' 배열 [1,2,3]
불리언 treu,false 함수 function(){}
null null 정규표현식 /[A-Z]+/g
undefined undefined

2. 표현식(expression)

표현식은 값으로 평가될수있는 문으로 평가되면 새로운 값을 생성하거나 기본의 값을 참조한다.
리터럴도 표현식이다.

var score = 100;
//100은 리터럴이다.
//리터럴은 데이터의 값 그 자체로 평가되기때문에 리터럴도 표현식이다.
score;

식별자는 값을 생성하지 않지만 변수식별자를 참조하면 변수값으로 평가되므로 표현식이다.
표현식은 다양한 조합으로 이뤄질수 있는데 모두 값으로 평가될수 있는 문을 표현식이라 한다.

3. 문(statement)

문은 프로그램을 구성하는 기본단위로 가장 작은 실행 단위이다.
문은 token으로 구성되는데 token은 문법적인 의미를 지닌, 문법적으로 더이상 나눌수 없는 코드를 말한다.
문은 선언문,할당문,조건문,반복문같이 컴퓨터에 내리는 명령이다
;은 문의 종료를 나타낸다.
자바스크립트는 엔진이 스스로 문의 끝으로 예측되는지점에 세미콜론을 자동으로 붙여주는 세미콜론 자동 삽입 기능(ASI)이 있으나, 제도로 예측하지 못할경우 에러를 야기할 수 있다.
표현식인지 아닌지 확인하는 방법으로는 변수에 할당해보면 알 수 있다.