05 표현식과 문

연우·2024년 11월 5일
0

5.1 값

값은 식(표현식)이 평가되어 생선된 결과를 말한다.

  • 모든 값은 데이터 타입을 가지며 메모리에 2진수의 나열로 저장
// 변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당된다
var sum = 10 + 20

5.2 리터럴

리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생서하는 표기법을 말한다.

  • 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성

5.3 표현식

표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참고한다.

  • 값으로 평가될 수 있는 문은 모두 표현식
// 리터럴 표현식
10
'Hello'

// 식별자 표현식(선언 이미 존재한다고 가정)
sum
person.name
arr[1]

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

// 함수/메서도 호출 표현식(선언 이미 존재한다고 가정)
square()

5.4 문

  • 문(statement) : 프로그램을 구성하는 기본 단위이자 최소 실행 단위
    - 문은 여러 토큰으로 구성
    - 토큰 : 문법적인 의미를 가지며, 문법적으로 더이상 나눌 수 없는 코드의 기본 요소
  • 문은 선언문, 할당문, 조건문, 반복문 등으로 구분

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

  • 세미콜론(;)은 문의 종료를 나타냄
  • 0개 이상의 문을 중괄호로 묶은 if 문, for 문, 함수 등의 코드 블록({...})은 언제나 자체 종결성을 갖기 떄문에 뒤에 붙이지 않음
  • 자바스크립트 엔진이 코드를 해석 할 때 끝이라고 예측 되는 지점에 자동으로 세미콜론을 붙여주는 세미콜론이 자동 삽입 기능(ASI)이 암묵적으로 수행되어 생략 가능

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

  • 표현식은 문의 일부일 수도 있고 그 자체로 문이 될 수도 있다.
  • 표현식인 문과 표현식이 아닌 문을 구별하는 간단한 법은 변수에 할당해 보는것
  • 표현식인 문은 값으로 평가되므로 변수에 할당 가능
  • 표현식이 아닌 문은 값으로 평가할 수 없으므로 변수에 할당하면 에러가 발생
// 표현식이 아닌 문은 값처럼 사용할 수 없다
var foo = var x

0개의 댓글