[JS]5장 표현식과 문

JH Cho·2022년 12월 10일
0

모던JS DeepDive 공부

목록 보기
5/27
post-thumbnail

모던 JS 딥다이브 공부 정리용 글입니다.

5.1_ 값

  • 값(value)는 표현식이 평가되어 생성된 결과
var sum = 10 + 20;

5.2_ 리터럴

  • 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용하여 값을 생성하는 표기법
  • 리터럴은 소스코드 안에서 직접 만들어 낸 상수 값 자체이며 값을 구성하는 최소 단위이다.
// 숫자 리터럴
10.50
1001
---
// 문자열 리터럴
'Hello'
"World"
----
// 불리언 리터럴
true
false
---
// null 리터럴
null
---
// undefined 리터럴
undefined
---
// 객체 리터럴
{ name: 'Lee', gender: 'male' }
---
// 배열 리터럴
[ 1, 2, 3 ]
---
// 정규표현식 리터럴
/ab+c/
---
// 함수 리터럴
function() {}

5.3_ 표현식

  • 표현식은 값으로 평가될 수 있는 문(statement).
  • 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.
var score = 100;
  • 100은 리터럴이다. 리터럴 100은 JS엔진에 의해 평가되어 값을 생성하므로 리터럴은 그 자체로 표현식이다.
var score = 50 + 50;
  • 50 + 50은 리터럴과 연산자로 이루어져있다
  • 하지만 50 + 50도 평가되어 값 100을 생성하므로 표현식이다.
score // 100
  • 변수 식별자를 참조하면 변수 값으로 평가된다.
  • 식별자 참조는 값을 생성하진 않지만 값으로 평가되므로 표현식이다.

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

//리터럴 표현식
10
'hello'

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

//연산자 표현식
10 + 2

//함수 & 메서드 호출 표현식(선언 이미 가정)
square()
person.getName()

5.4_ 문(statement)

  • 문은 프로그램을 구성하는 기본 단위이자 최소 실행단위
  • 문은 여러 토큰으로 구성된다.
  • 토큰이란 문법적인 의미를 가지며 문법적을 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.
var sum = 1 + 2; // 문
var/ sum / = / 1 / + /2  모두 토큰

-문은 컴퓨터에게 내리는 명령이다.
-문은 선언문, 조건문, 할당문, 반복문 등이 있다.

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

  • 세미콜론은 문의 종료를 나타낸다
  • JS엔진은 세미콜론으로 문이 종료한 위치를 파악하여 순차적으로 하나씩 문을 실행한다.
  • 따라서 문을 끝낼 때는 세미콜론을 붙인다.
  • 단 코드블록 뒤에는 붙이지 않는다.

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

  • 표현식인 문과 표현식이 아닌 문 구별
var foo = var x; // Syntax Error
var x; // 선언문은 값으로 평가 X 표현식도 아니다

x = 1 + 2// 표현식이면서 완전한 문
1 + 2// 표현식.
x = 10; // 할당문은 값으로 평가되므로 표현식인 문이다.
profile
주먹구구식은 버리고 Why & How를 고민하며 프로그래밍 하는 개발자가 되자!

0개의 댓글