[JS Deep Dive] 5장. 표현식과 문

lyshine·2023년 3월 22일
0

JS Deep Dive 정리

목록 보기
2/18

  • 값은 식(표현식)이 평가되어 생성된 결과를 말한다.
  • 모든 값은 데이터 타입을 가지며, 메모리에 2진수 비트의 나열로 저장된다.
  • 변수에 할당되는 것은 값이다.

리터럴

  • 리터럴은 사람이 이해할 수 잇는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.
    • 3 //숫자 리터럴 3
  • 사람이 이해할 수 있는 문자, 미리 약속된 기호로 표기한 코드
  • 값을 생성하기 위해 미리 약속한 표기법이라 할 수 있다.

표현식

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

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

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

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

  • 문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다.
  • 문의 집합으로 이루어진 것이 프로그램, 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍
  • 문은 여러 토큰으로 구성된다.
    • 토큰 : 문법적인 의미를 가지며, 문법적으로 더이상 나눌 수 없는 코드의 기본 요소를 의미한다.(키워드, 연산자, 세미콜론 등)
  • 문은 선언문, 할당문, 조건문, 반복문 등으로 구분할 수 있다.

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

  • 세미콜론은 문의 종료를 나타낸다.
  • 세미콜론은 옵션이지만 붙이는것을 권장한다.

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

  • 표현식은 문의 일부일 수도 있고 그 자체로 문이 될 수도 있다.
  • 표현식인 문과 표현식이 아닌 문을 구별 : 변수에 할당해보기
var x; //변수 선언문 : 표현식이 아닌 문

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

//구별
//표현식이 아닌 문은 값처럼 사용할 수 없다.
var foo = var x; // error
  • chrome 개발자 도구에서 표현식이 아닌 문을 실행하면 완료값 undefined를 출력하고, 표현식인 문을 실행하면 언제나 평가된 값을 반환한다.

0개의 댓글