JavaScirpt_5표현식과 문

Yoon Tschoe·2022년 1월 13일
0

JavaScript

목록 보기
4/10

JavaScirpt 공부 정리
<모던 자바스크립트 Deep Dive>의 목차를 따릅니다. 책을 발제하는 것을 기본 골조로 하고, 개인이 공부한 내용을 추가합니다.


1. 값 value

  • 은 표현식 expression이 평가evaluate되어 생성된 결과를 말한다.
  • 앞서 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 상징적인 이름이라고 했다. 결과적으로 변수에 할당되는 것은 값이다.

2. 표현식 expression

  • 표현식은 값으로 평가될 수 있는 문statement이다.
  • 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다.
// 리터럴 표현식
3
'Hello'

// 식별자 표현식(선언이 이미 존재한다고 가정)
score
person.name

// 연산자 표현식
1 + 2
sum = 10

// 함수, 메서드 호출 표현식(선언이 이미 존재한다고 가정)
squre()
person.getName()

3. 문 statement

  • 문은 프로그램을 구서하는 기본 단위이자 최소 실행 단위이다.
  • 문은 명령문이라고도 부른다. 즉, 문은 컴퓨터에 내리는 명령이다.
  • 문은 여러 토큰으로 구성되는데, 토큰이란 문법적인 의미를 가지며, 더이상 나눌 수 없는 최소단위를 의미한다.
// 변수 선언문
var x;

// 할당문
x = 3;

// 함수 선언문
function foo () {}

// 조건문
if (x > 1) {console.log(x); }

// 반복문
for (var i = 0; i < 2; i++) {console.log(x); }

4. 표현식인 문, 표현식이 아닌 문

표현식은 그 자체로 문이 될 수도 있고, 문의 일부일 수도 있다.

var x;
// 선언문: 표현식이 아닌 문: 변수 선언문은 값으로 평가될 수 없으므로 
x = 100;
// 할당문: 표현식이면서 문 cf) 1, 2, 표현식이 아닌 문

// 구분 방법: 표현식인 문인 값으로 평가될 수 있기에 변수에 할당이 가능하다. 
var foo = x = 100;
console.log(foo); // 100

[Note✏️] 세미콜론

  • 세미콜론은 문의 종료를 나타낸다. 즉 자바스크립트 엔진은 세미콜론으로 문이 종료한 위치를 파악하고 순차적으로 하나씩 문을 실행한다.
  • 단, 0개 이상의 문을 괄호로 묶은 코드 블록 {...} 뒤에서는 세미콜론을 붙이지 않는다. 코드 블록은 자체 종결성을 갖기 때문이다.
  • 그런데 문의 끝에 붙이는 세미콜론은 옵션이기에 이에 대해서는 서로 다른 주장들이 존재한다.
profile
프론트엔드 개발자를 목표로 하는 전 미술기획자

0개의 댓글