05장 표현식과 문

이로그·2023년 10월 29일
0

05장 표현식과 문

5.1 값

  • : 식(표현식)이 평가되어 생성된 결과.
    변수는 하나의 값을 저장한다.
var sum = 10 + 20;
// 위의 코드에서 메모리 공간에 저장되는 것은 10 + 20이 아니라 30이다.
// 10 + 20은 할당 이전에 평가되어 값을 생성해야 한다.

5.2 리터럴

  • 리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
  • 자바스크립트 엔진은 런타임에 리터럴을 평가해 값을 생성한다

리터럴 종류

valueType
100정수 리터럴
10.5부동소수점 리터럴
0b010000012진수 리터럴(0b로 시작)
0o1018진수 리터럴(0o로 시작 / ES6 도입)
0x4116진수 리터럴(0x로 시작 / ES6 도입)
'Hello', "World"문자열 리터럴
true, false불리언 리터럴
nullnull 리터럴
undefinedundefined 리터럴
{ name : 'Lee', address: 'Seoul' }객체 리터럴
[1, 2, 3]배열 리터럴
function fn() {}함수 리터럴
/[A-Z]+/g정규 표현식 리터럴

5.3 표현식

  • 표현식 : 값으로 평가될 수 있는 문. 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다.
  • 리터럴은 값으로 평가된다. 따라서 리터럴도 표현식이다.
var score = 50 + 50; // 50 + 50도 평가되어 100을 생성하므로 표현식이다.
console.log(score); // 변수도 변수값을 참조하여 평가되므로 표현식이다
  • 값으로 평가 될 수 있는 문은 모두 표현식이다.
// 리터럴 표현식
10;
'Hello';

// 식별자 표현식
sum;
person.name;
arr[1];

// 연산자 표현식
10 + 20;
sum = 10;
sum !== 10;

// 함수/메서드 호출 표현식
square();
person.getName();

5.4 문

  • : 프로그램을 구성하는 기본 단위이자 최소 실행 단위. 여러 토큰으로 구성된다.(=명령문)
  • 토큰 : 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미. (ex. 키워드, 식별자, 연산자, 리터럴, 세미콜론, 마침표 ... )
var sum = 1 + 2; // var, sum, =, 1, +, 2, ; 모두 토큰이다.
// 변수 선언문
var x;
// 할당문
x = 5;
// 함수 선언문
function foo() {}
// 조건문
if ( x > 1 ) {console.log(x);}
// 반복문
for(var i = 0; i < 2; i++) {console.log(i);}

5.5 세미콜론과 세미콜론 자동 삽입 기능

  • 세미콜론(;) : 문의 종료
  • 문을 끝낼 때는 세미콜론을 붙여야 하지만, 중괄호로 묶은 코드 블록({...}) 뒤에는 세미콜론을 붙이지 않는다. (ex. if문, for문, 함수 ...)
  • 만약, 세미콜론을 붙이지 않으면, 문의 끝이라고 예측되는 지점에 세미콜론 자동 삽입 기능으로 세미콜론을 자동으로 붙여주지만, 예측하지 못한 상황이 벌어질 수 있기 때문에 세미콜론 사용을 권장한다.

5.6 표현식인 문과 표현식이 아닌 문

  • 표현식인 문 : 값으로 평가될 수 있는 문
  • 표현식이 아닌 문 : 값으로 평가 될 수 없는 문
var x; // 변수 선언문. 표현식이 아닌 문.
x = 100; // 할당문. 표현식인 문
  • 표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다.
var foo = var x; // SyntaxError(문법에러)

0개의 댓글