[TIL_Javascript_21.01.11] 표현식과 문

offdutybyblo·2021년 1월 11일
0

JavaScript

목록 보기
35/39
post-thumbnail

1. 값 / Value

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

평가라 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다. 다음 예제의 식은 평가되어 숫자 값 30을 생성한다.

10 + 20; // 30

모든 값은 데이터 타입을 가지며, 메모리에 2진수, 즉 비트의 나열로 저장된다. 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다. 예를 들어, 메모리에 저장된 값 0100 0001을 숫자로 해석하면 65지만 문자로 해석하면 'A'다.
변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이다. 따라서 변수에 할당되는 것은 값이다.

2. 리터럴 / Literal

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

// 숫자 리터럴 3
3

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

이처럼 리터럴은 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳, 한글 등) 또는 미리 약속된 기호('',"",.,[],{},// 등)로 표기한 코드다. 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다. 즉, 리터럴은 값을 생성하기 위해 미리 약속한 표기법이라고 할 수 있다.

3. 표현식 / Expression

표현식은 값으로 평가될 수 있는 문(statement)이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.

리터럴도 값으로 평가된다. 따라서 표현식이다.

let height = 175;

표현식은 리터럴, 식별자(변수, 함수 등의 이름), 연산자, 함수 호출 등의 조합으로 이뤄질 수 있다. 다음과 같이 다양한 표현식이 있지만 값으로 평가된다는 점에서 모두 동일하다. 즉, 값으로 평가될 수 있는 문은 모두 표현식이다.

4. 문

문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다. 문들이 모여서 프로그램을 구성하고 순서에 맞게 코딩하는 것을 프로그래밍이라 한다. 문은 토큰으로 구성된다. 각 토큰은 문법적 의미를 담고있고, 더 이상 나눌 수 없는 코드이며 기본 요소를 의미한다.

문은 커퓨터에게 내리는 명이다. 즉, 명령문이다. 좋은 코드는 컴퓨터와 의사소통이 잘 되며, 좋은 명령을 내리면 좋은 결과물이 따라온다.

//선언문
let blo; 
// 함수 선언문
function () {}
// 할당문
blo = good;
// 조건문
if () {}
// 반복문
for() {}

5. ; 이건 왜붙이나?

세미콜론은 문의 종료를 뜻한다. JS엔진은 세미콜론을 보고 문이 종료한 위치를 파악한다. 코드 블록({}) 뒤에는 세미콜론을 붙이지 않는다. '}' 자체가 코드의 마무리를 의미한다. 사실 세미콜론은 문 끝에 붙여도되고 안붙여도 상관없다. js 엔진이 자동으로 세미콜론을 삽입해준다. 하지만 정확도가 100%가 아니라서 다수는 붙이는 컨벤션을 많이 사용한다.

6. 표현식 === 문 vs 표현식 !== 문

값으로 평가되어 변수에 할당할 수 있다? => 표현식인 문
값으로 평가 x, 변수에 할당 x => 표현식이 아닌 문

profile
Front-End Devleoper 일껄요?

0개의 댓글