[JavaScript] Statement

jaylight·2021년 1월 24일
0

문, 명령문(statement)

프로그램을 구성하는 기본 단위이자 최소 실행 단위
컴퓨터에 내리는 명령

  • 프로그램: 문의 집합으로 이루어진 것

    프로그래밍: 문을 작성하고 순서에 맞게 나열하는 것

문은 선언문, 할당문, 조건문, 반복문 등으로 구분되며, 각 문에 따라 특성 동작이 실행된다.

토큰(Token)

문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소

키워드, 식별자, 연산자, 리터럴, 세미콜론(;), 마침표(.) 등의 특수 기호 등은 문법적 의미를 가진 모든 요소들

문은 여러 개의 토큰으로 구성된다.

세미콜론 (;)

JavaScript에서 문의 종료를 나타내는 기호로, JavaScript 엔진은 세미콜론으로 문이 종료한 위치를 파악하고 순차적으로 하나씩 문을 실행

예외: 0개 이상의 문을 중괄호로 묶은 코드 블록(if문, for문, 함수 등) 뒤에는 세미콜론을 붙이지 않는다.

세미콜론 자동 삽입 기능(ASI)

JavaScript 엔진이 소스코드를 해석할 때, 문의 끝이라고 예측되는 지점에 세미콜론을 자동으로 붙여주는 기능

따라서 문의 끝에 세미콜론을 생략 가능하다.

하지만 개발자의 의도와 다르게 작동할 수 있으므로, 직접 코드에 세미콜론을 넣는 것을 추천

표현식인 문 vs 표현식이 아닌 문

표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단한 방법은 변수에 할당해 보는 것

표현식인 문은 값으로 평가 되므로 변수에 할당 가능

표현식이 아닌 문은 값으로 평가할 수 없으므로 변수에 할당 시 에러가 발생

// 변수선언문: 표현식이 아닌 문
var x;

// 할당문: 표현식인 문
x = 100;

//표현식이 아닌 문은 값처럼 사용할 수 없다.
var foo = var x; // SyntaxError: Unexpected token var

완료 값

  • Chrome에서 표현식이 아닌 문을 실행하면 undefined를 출력 ⇒ 이를 완료 값이라고 함
  • 완료 값은 표현식의 평가 결과가 아니며, 변수에 할당할 수 없음

0개의 댓글