개발지식 및 기초지식/JAVASCRIPT

js기초 - 표현식과 문

jeong_ga 2022. 7. 14. 16:10

모던자바스크립트 DEEPDIVE - chapter 5 표현식과 문

  • 식이 평가되어 생성된 결과를 뜻함 (평가란 식을 해석하여 값을 생성하거나 참조하는 것을 의미)

변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 혹은 공간을 식별하기 위해 붙인 이름이다.

  • 따라서 변수에 할당되는 것은 값

const sum = 10+20;

변수 sum에 할당되는 것은 10+20 이라는 식이 아닌 30이라는 값이다.

값은 식을 통해 생성할 수도 있으나 가장 기본적인 방법은 리터럴을 사용하는 것!

리터럴

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

  • 사람이 이해할 수 있는 문자 혹은 기호로 표기한 코드로 자바스크립트 엔진은 런타임에 리터럴을 평가해 값을 생성한다.
  • 값을 생성하기 위해 미리 약속한 표기법!
  •  

리터럴을 사용하여 생성할 수 있는 다양한 종류(data type)의 값

  • 정수
  • 부동소수점 리터럴
  • 2진수 리터럴(0b로 시작시작)
  • 8진수 리터럴 0o101 (es6에서 도입, 0o로 시작)
  • 16진수 리터럴 0x41 (es6에서 도입, 0x로 시작)
  • 문자열 리터럴
  • 불리언 리터럴 (true, flase)
  • null 리터럴
  • undefined 리터럴
  • 객체 리터럴
  • 배열 리터럴
  • 함수 리터럴
  • 정규 표현식 리터럴 (/[A-Z]+/g)

표현식

값으로 평가될 수 있는 문, 새로운 값을 생성하거나 기존 값을 참조한다.

  • 리터럴은 값으로 평가된다. ->리터럴은 그 자체로 표현식
const a = 100; //100은 리터럴이자 표현식

const b = 50 + 50; // 50은 리터럴, 또한 연산하여 값 100을 생성하므로 표현식

a; // 100, 값을 생성하지는 않지만 평가되므로 표현식

즉, 값으로 평가될 수 있는 문은 모두 표현식이다.

  • 표현식은 값으로 평가된다. 표현식과 표현식이 평가된 값은 동등한 관계(동치)이다. -> 표현식은 값처럼 사용할 수 있다.

  • 프로그램을 구성하는 기본 단위
  • 최소 실행 단위
  • 문의 집합으로 이루어진 것이 프로그램, 문을 작성하고 순서에 맞게 나열하는 것은 프로그래밍
  • 문은 여러개의 토큰으로 구성된다.
  • 문법적인 의미를 가지며 문법적으로 더이상 나눌 수 없는 코드의 기본요소
const token = 3 + 3; // 문

const, token, =, 3, +, 3, ; //는 문법적으로 더이상 나눌 수 없는 토큰
  • 선언문 / 할당문 / 조건문 / 반복문 등으로 구분된다.

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

  • ;는 문의 종료를 뜻함
  • 자바스크립트 엔진은 ;으로 문의 종료를 확인하고 코드를 실행하기 때문에 종료 시마다 작성!
  • 자바스크립트 엔진엔 세미콜론자동삽입기능(ASI) 있기 때문에 세미콜론 작성 여부는 선택이다.
  • 단, {}로 묶인 코드 블록 뒤에는 세미콜론을 작성하지 않음!! (e.g if, for, 함수) -> 자체 종결성

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

문(표현식이 아닌 문, 표현식인 문)

표현식인 문

  • 값으로 평가될 수 있는 문
  • 변수 선언문은 표현식이 아니다 !!

표현식이 아닌 문

  • 변수 할당문은 표현식이다 !!
  • 구글 크롭 개발자 도구에선 완료값을 도출해 내기 떄문에 표현식이 아닌 문을 작성하면 undefined가 나온다.
  • 표현식을 작성하면 값이 나옴!

'개발지식 및 기초지식 > JAVASCRIPT' 카테고리의 다른 글

js기초 - 제어문  (0) 2022.07.14
js기초 - 연산자  (0) 2022.07.14
js기초 - 데이터타입  (0) 2022.07.14
js기초 - 변수  (0) 2022.07.14
js기초 - node.js, npm, REPL  (0) 2022.07.14