표현식과 문 개념 정리
값
- 값은 식이 평가되어 생성된 결과를 말한다.
// 10 + 20은 평가되어 숫자 값 30을 생성한다.
10 + 20; // 30
변수에 저장
// 변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당
var sum = 10 + 20
값은 다양한 방법으로 생성할 수 있음
가장 기본적인 방법 : 리터럴 사용
리터럴
- 사람이 이해할 수 있는 문자(아라비아 숫자,알파벳,한글 등) 또는 미리 약속된 기호('',"",.,[],{},// 등)로 표기한 코드
- 자바스크립트 엔진은 코드가 실행되는 시점 런타임에 리터럴을 평가해 값을 생성함
표현식
예제 1 : var score = 100;
예제 2 : var score = 50 + 50;
예제 3 : var score = 10 / 2
리터럴 표현식
10
'Hello'
식별자 표현식(선언이 이미 존재한다고 가정)
sum
person.name
arr[1]
연산자 표현식
10 + 20
sum = 10
sum !== 10
함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
square()
person.getName()
- 값으로 평가될 수 있는 문
- 값으로 평가될 수 있는 문은 모두 표현식
- 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조
문
var num = 10 + 20;
// 토큰 = var, num, =, 10, +, 20
// 문 = var num = 10 + 20;
- 토큰(token) : 문법적인 의미를 가지면서 문법적으로 더이상 나눌 수 없는 코드의 기본 요소
- 문(statement) : 프로그램을 구성하는 기본 단위이자 최소 실행 단위. 컴퓨터에 내리는 명령문
세미콜론 / 세미콜론 자동 삽입 기능
- 세미콜론(;)은 문의 종료를 나타냄
- 자바스크립트 엔진은 세미콜론으로 문의 종료한 위치를 파악하고 순차적으로 하나씩 문을 실행함
- 문의 끝에 붙이는 세미콜론은 옵션이므로 생략이 가능함
- 자바스크립트 엔진이 소스코드를 해석할 때 문의 끝이라고 예측되는 지점에 세미콜론을 자동으로 붙여주는 세미콜론 자동 삽입 기능이 암묵적으로 수행되기 때문
표현식인 문과 표현식이 아닌 문
// 변수 선언문은 값으로 평가될 수 없으므로 표현식이 아님
var x;
// 1,2,1+2,x = 1+2 는 모두 표현식
// x = 1 + 2는 표현식이면서 완전한 문
x = 1 + 2
- 표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법 : 변수에 할당해 보는 것
// 표현식이 아닌 문은 값처럼 사용할 수 없음
var foo = var x; // error
// 표현식인 문은 값처럼 사용할 수 있음
var foo = x = 100;
// 변수 선언문은 표현식이 아닌 문이다.
var x;
// 할당문은 그 자체가 표현식이지만 완전한 문이기도 함 / 즉, 할당문은 표현식인 문
x = 100
'모다딥 공부 정리' 카테고리의 다른 글
[ 모다딥 공부 정리 ] 07장 연산자 (0) | 2023.04.20 |
---|---|
[ 모다딥 공부 정리 ] 06장 데이터 타입 (0) | 2023.04.20 |
[ 모다딥 공부 정리 ] 04장 변수 (0) | 2023.04.19 |