본문 바로가기
프로그래밍/자바스크립트 ES6

자바스크립트 ES6 #5 표현식과 문

by 참외롭다 2023. 3. 29.
반응형

#값 #리터럴 #표현식 #문

 

은 식(표현식)이 평가되어 생성된 결과를 말한다.

 

- 변수는 하나의 을 할당하기 위해 확보한 메모리 공간 자체 혹은 공간의 주소를 식별하기 위해 붙인 이름이다.  따라서 변수에 할당 되는 것은 값이다.

 

 

리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 통해 값을 생성하는 표기법을 말한다.

 

- 자바스크립트 엔진은 리터럴을 평가하여 값을 생성한다. 리터럴은 값을 생성하기위해 미리 약속한 표기법이라고 할 수 있다.

 

// 정수리터럴 
100;

// 부동소수점 리터럴
10.5

// 2진수 리터럴
0b010000001

// 8진수 리터럴 
0o101

// 16진수 리터럴 
0x41

// 문자열 리터럴 
'Hello'
// 불리언 리터럴 
true, false

// null 리터럴 
null

// undefined 리터럴 
undefined

// 객체 리터럴 
{name : 'Lee', address : 'Seoul'} 

// 배열 리터럴
[1,2,3]

// 함수 리터럴
function(){}

// 정규 표현식 리터럴 
/[A-Z]+/g

 

 

표현식은 값으로 평가될 수 있는 문(Statement) 이다.

 

- 표현식이 평가되면 새로운 값을 생성하거나 기존의 값을 참조한다.

 

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

//리터럴과 연산자로 이루어진 표현식은 평가되면 100 이라는 값을 생성한다.
var score = 50 + 50; // 100

// 식별자를 참조하면 값으로 평가된다. 식별자 참조 또한 표현식이다.
score; // 50

 

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

 

- 문은 토큰으로 구성된다.

 

- 토큰이란 문법적의미를 가지며 문법적으로 더이상 나눌 수 없는 코드, 즉 키워드, 식별자, 연산자, 리터럴, 세미콜론, 마침표, 특수기호등 의미를 가지는 요소를 말한다.

 

- 문은 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있다. 각각의 문은 종류에 따라 다르게 동작한다.

 

 

표현식인 문은 값으로 평가 되기때문에 변수에 할당할 수 있다.

 

반대로 표현식이 아닌 문은 값이 아니기 때문에 변수에 할당할 수 없다.

 

var foo =  var x; //표현식이 아닌 문이기때문에 에러가 발생한다.

var foo = x = 100; // 할당문은 그 자체가 표현식이고 문이기 때문에 표현식인 문으로 변수에 할당할 수 있다.
console.log(foo) //100

 

#값 #리터럴 #표현식 #문

반응형