Skip to content

Latest commit

 

History

History
133 lines (55 loc) · 3.29 KB

File metadata and controls

133 lines (55 loc) · 3.29 KB

자바스크립트 딥다이브 # 20220619 #5. 표현식, 문 05. 표현식과 문

###값(Value)이란

#식(expression)이 평가되어 생성된 결과를 말한다. #여기서 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다. 10 + 20; // 30

모든 값은 데이터 타입을 가지며, 메모리에 2진수, 즉 비트의 나열로 저장된다. 메모리에 저장된 값은 타입에 따라 다르게 해석된다.

메모리에 저장된 값 0100 0001을 숫자로 해석하면 65지만, 문자로 해석하면 'A'다

###변수란?

#하나의 값을 저장하기위해 확보한 메모리 공간 자체 또는 메모리 공간을 식별하기 위해 붙인 이름

*따라서 변수에 할당되는 것은 값이다.

// 변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당된다.

var sum = 10 + 20;

위 예제를 보면 sum 변수에 할당되는 것은 10+ 20이 아닌 평가된 결과인 숫자 값 30이다.

위의 방식으로도 생성할 수 있지만 기본적인 방법

리터럴 사용하기

###리터럴

#사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법(notation) //숫자 리터럴

3

...리터럴은 평가되어 값을 생성한다...

리터럴은 사람이 이해할 수 있는 문자 또는 미리 약속된 기호를 표기한 코드다.

  • 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다.

즉 리터럴은 값을 생성하기위해 미리 약속한 표기법이라고 할 수 있다.

#리터럴 종류

정수 리터럴 - 100, 200, 3,4,5

부동소수점 리터럴 10.5, 11.2

2진수 리터럴 0b01000001

8진수 리터럴 0o101 - es6에서 도입, 0o로 시작

16진수 리터럴 0x41 - es6에서 도입, 0x로 시작

문자열 리터럴 'Hello', "World"

불리언 리터럴 true, false

null리터럴

undefined리터럴

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

배열 리터럴 [ 1, 2, 3 ] -- 프로토타입으로 만들어진 객체...

함수리터럴 function(){}

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

###표현식

#값으로 평가될 수 있는 문(statement)

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

앞서 살펴본 리터럴은 값으로 평가됨에 따라서 리터럴도 그자체로 표현식이다.

값으로 평가될 수 있는 문은 모두 표현식이다.

###문

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

#문은 여러 토큰으로 구성된다.

###토큰

#문법적인 의미를 가지며 문법적으로 더이상 나눌 수 없는 코드의 기본 요소를 의미한다.

ex - ;, 4, ., 더이상 나눌 수 없는 코드의 기본요소이기때문에 토큰이다.

var sum = 1 + 2;

문을 명령문이라고도 부른다. 문은 컴퓨터에 내리는 명령이다. 문이 실행되면 명령이 실행되고 무슨 일인가 일어나게 된다.

문은 선언문, 할당문, 조건문, 반복문 등으로 구분

문에 붙이는 세미콜론은 옵션이다. 생략 가능.

  • 자바스크립트 엔진이 소스코드를 해석할 떄 문의 끝이라고 예측되는 지점에 세미콜론을 자동으로 붙여주는 자동삽입기능 (ASI)가 암묵적으로 수행됨