반응형
5-1. 값
- 값: 식(표현식 expression)이 평가(evaluate)되어 생성된 결과
- 메모리에 저장된 값은 데이터 타임에 따라 다르게 해석될 수 있다.
- 0100 001을 숫자로 해석하면 65지만, 문자로 해석하면 ‘A’
- 값의 생성
- 식
- 리터럴(가장 기본적)
var sum = 10 + 20; // 30
- 변수에 할당되는것은 값
- 10+20이 평가된 결과인 숫자 30이 할당된다.
5-2. 리터럴
- 리터럴: 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법(notation)
- 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성
3
- 3은 단순한 아라비아 숫자가 아니라, 숫자 리터럴
- 자바스크립트 엔진은 이를 평가해 숫자 값 3을 생성
5-3. 표현식
- 표현식(expression): 값으로 평가될 수 있는 문(statement)
- 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조
var score = 50 + 50;
score;
- 변수식별자를 참조하면 변수 값으로 평가됨
- 식별자 참조는 값을 생성하지는 않지만 값으로 평가되므로 표현식임
- 표현식은 리터럴, 식별자, 연산자, 함수 호출 등의 조합으로 이뤄질 수 있음
- 값으로 평가될 수 있는 문은 모두 표현식
- 표현식과 표현식이 평가된 값은 동등한 관계, 동치(equivalent)
5-4. 문
- 문(statement): 프로그램을 구성하는 기본 단위이자 최소 실행 단위
- 토큰(token): 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 . 수없는 코드의 기본 요소
- 키워드, 식별자, 연산자, 리터럴, 세미콜론, 마침표 등의 특수문자
- 문은 명령문이라고도 함
- 선언문, 할당문, 조건문, 반복문 등
5-5. 세미콜론과 세미콜론 자동 삽입 기능
- 세미콜론은 문의 종료를 나타냄
- 0개 이상의 문을 중괄호로 묶은 코드 블럭({…})뒤에는 세미콜론X
- if문, for문, 함수
- 자체 종결성(self closing)을 갖기 때문
- 세미콜론은 생략가능
- 문의 끝이라 예측되는 지점에 자동으로 붙여주는 세미콜론 자동삽입기능(ASI: automatic semicolon insertion)이 암묵적으로 수행되기 때문
- 하지만 예측이 일치하지 않는경우가 있기때문에 되도록 사용하도록 하자!
- ESLint에서도 세미콜론 사용은 기본
- TC39(ECMAScript 기술 위원회에서도 세미콜론 사용 권장
5-6. 표현식인 문과 표현식이 아닌 문
- 표현식인 문: 값으로 평가될 수 있는 문
- 할당문
- 표현식이 아닌 문: 값으로 평가될 수 없는 문
- 변수 선언문
- 구별하는 방법: 변수에 할당해보기
- 변수선언문
// var x;
var foo = var x;
- 할당문: x = 100;
// x = 100;
var foo = x = 100;
완료 값(completion value)
- 표현식이 아닌 문을 실행하면 언제나 undefined를 출력.
- 완료값은 표현식의 평과 결과가 아님
- 크롬개발자도구에서 표현식인 문을 실행하면 언제나 평가된 값을 반환
반응형
'Frontend > Javascript Typescript' 카테고리의 다른 글
[Javascript] 4. 변수 (모던자바스크립트딥다이브) (0) | 2025.04.06 |
---|---|
[Javascript] 렉시컬 스코프와 클로저 (0) | 2025.03.25 |
[Javascript, React] 참조형 데이터의 불변성, 얕은 복사와 깊은 복사의 이해 (0) | 2025.03.21 |
[JavaScript] Math 객체와 주요 메서드 정리 (0) | 2025.03.20 |
[Javascript] 페이지 로딩 후 스크립트 실행(defer, DOMContentloade, onload) (0) | 2025.03.20 |