값은 표현식이
평가
되어 생성된결과
평가란, 식을 해석해서 값을 생성하거나 참조하는 것을 의미
//10과 20은 평가되어서 값 30을 생성하는 것
10 + 20
변수는 하나의 값을 저장하기 위해 확보된 메모리 공간 또는 공간을 식별하기 위해 붙여진 이름이기에, 우리는 변수
에 값
을 할당할 수 있다.
문자 그대로의
사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
자바스크립트 엔진은 코드가 실행되는 시점인 런타임
에 리터럴을 평가해 값을 생성
즉, 리터럴은 값을 생성
하기 위해 미리 약속한 표기법이다.
// 숫자 리터럴
3
//문자열 리터럴
'seohee'
//함수 리터럴
function() { }
// 배열 리터럴
[1,2,3]
값으로 평가될 수 있는 문
표현식이 평가되면 새로운 값은 생성하거나 기존의 값을 참조
표현식은 값
으로 평가됨
표현식과 표현식이 평가된 값은 동치
var score = 100;
// 리터럴 표현식
10
'Hello'
// 식별자 표현식(선언이 이미 존재한다고 가정)
sum
person.name
arr[1]
// 연산자 표현식
10 + 20
sum = 10
sum !== 10
// 함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
square()
person.getName()
statement : 프로그램을 구성하는
기본 단위
이자최소 실행 단위
token : 문법적인 의미를 가지며 문법적으로 더이상 나눌 수 없는 코드의 기본 요소
// 변수 선언문
var x;
// 표현식 문(할당문)
x = 5;
// 함수 선언문
function foo () {}
// 조건문
if (x > 1) { console.log(x); }
// 반복문
for (var i = 0; i < 2; i++) { console.log(i); }
변수에 할당해서 이를 구별
// 표현식이 아닌 문은 값처럼 사용할 수 없다.
var foo = var x; // SyntaxError: Unexpected token var
// 변수 선언문은 표현식이 아닌 문이다.
var x;
// 할당문은 그 자체가 표현식이지만 완전한 문이기도 하다. 즉, 할당문은 표현식인 문이다.
x = 100;
// 표현식인 문은 값처럼 사용할 수 있다
var foo = x = 100;
console.log(foo); // 100