본 내용은 모던 자바스크립트 Deep Dive. 이웅모 저. 에 출처하며 자바스크립트에 숨참고 deep dive 합니다.
// 10 + 20은 평가되어 숫자 값 30을 생성한다.
10 + 20; //30
메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다
리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.
// 숫자 리터럴 3
3
표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
score; //->100
// 리터럴 표현식
10
'hello'
// 식별자 표현식(선언이 이미 존재한다고 가정)
sum
person.name
arr[1]
// 연산자 표현식
10+20
sum=10
sum!==10
// 함수/메서드 호출 표현식(선언이 이미 존재한다고 가정)
square()
person.getName()
문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위다. (=명령문)
문의 집합으로 이루어진 것이 프로그램이며, 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍이다.
문은 여러 토큰으로 구성된다.
선언문, 할당문, 조건문, 반복문 등
토큰이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.
// 변수 선언문은 값으로 평가될 수 없으므로 표현식이 아니다.
var x;
// 1, 2, 1+2, x=1+2는 모두 표현식이다.
// x=1+2는 표현식이면서 완전한 문이기도 하다.
x = 1 + 2;
표현식인 문은 값으로 평가될 수 있는 문이며, 표현식이 아닌 문은 값으로 평가될 수 없는 문을 말한다.
표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다.