교재: 모던 자바스크립트 Deep Dive (이웅모 지음)
모던 자바스크립트 Deep Dive - YES24
『모던 자바스크립트 Deep Dive』에서는 자바스크립트를 둘러싼 기본 개념을 정확하고 구체적으로 설명하고, 자바스크립트 코드의 동작 원리를 집요하게 파헤친다. 따라서 여러분이 작성한 코드
www.yes24.com
5장, 표현식과 문
값(value): 식(expression)이 평가(evaluate)되어 생성된 결과.
리터럴: 사람이 이해할 수 있는 문자 또는 약속된 기호
표현식(expression): 값으로 평가될 수 있는 문(statement), 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
문(statement): 프로그램을 구성하는 기본 단위이자 최소 실행 단위, 문은 여러 토큰(token)으로 구성된다.
토큰(token): 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소 (ex. 키워드, 식별자, 연산자, 리터럴, 세미콜론, 마침표 등)
문(Statement)의 종류
- 선언문
- 할당문
- 조건문
- 반복문
문장의 끝을 의미하는 세미콜론(;)은 옵션이다. 자바스크립트 엔진에서 세미콜론 자동 삽입 기능(ASI)이 암묵적으로 수행되기 때문이다. 하지만 개발자의 예측과 자동 삽입 기능의 동작이 다를 수 있으므로 세미콜론을 잘 적어주도록 하자.
표현식은 문의 일부일 수도 있고, 그 자체로 문이 될 수도 있다.
표현식과 문을 구별하는 가장 간단하고 명료한 방법은 '변수에 할당해보는 것'이다.
// 변수 선언문은 표현식이 아닌 문.
var x;
// 변수에 할당해보면,
var foo = var x; // SyntaxError
var x;
// 할당문은 그 자체가 표현식이면서 완전한 문이다.
x = 10;
// 값처럼 사용 가능.
var foo = x = 10;
console.log(foo); // 10
+ 개발자 도구에서 표현식이 아닌 문을 실행하면 'undefined'를 반환, 표현식을 출력하면 평가된 값을 반환한다.
'Programming > Node.js' 카테고리의 다른 글
[JavaScript] 모던 자바스크립트 Deep Dive 6장 - 데이터 타입 (0) | 2023.01.03 |
---|---|
[JavaScript] 모던 자바스크립트 Deep Dive 4장 - 변수 (0) | 2023.01.03 |
댓글