[Modern JS] #5. 표현식과 문

wonnie1224·2022년 7월 24일
0

Modern JS

목록 보기
2/7

📌 5.1 값

값(value) : 표현식(expression)이 평가(evaluate)되어 생성된 결과
평가 : 식을 해석 -> 값을 생성 / 참조하는 것

//변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당됨
var sum = 10 + 20;

여기서 sum 변수에 할당되는 것은 10 + 20이 아니라 10 + 20이 평가되어 생성된 숫자 값 30임!


📌 5.2 리터럴

리터럴(literal) : 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳, 한글 등) / 약속된 기호('', "", ., [], {}, // 등)를 사용해 값을 생성하는 표기법

// 숫자 리터럴 3
3
  • JS 엔진 - 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성함
  • 리터럴 = 값 생성 위해 미리 약속한 표기법
리터럴예시
정수 리터럴100
부동소수점 리터럴10.5
2진수 리터럴0b1000001
8진수 리터럴0o101
16진수 리터럴0x41
문자 리터럴'Hello', "World"
불리언 리터럴true, false
null 리터럴null
undefined 리터럴undefined
객체 리터럴{ name: 'Lee' }
배열 리터럴[ 1, 2, 3 ]
함수 리터럴function() {}
정규 표현식 리터럴/[A-Z]+/g

📌 5.3 표현식

표현식(expression) : 값으로 평가될 수 있는 문

  • 표현식이 평가되면 새로운 값을 생성 / 참조함
var score = 50 + 50;	// 50 + 50이 평가되어 숫자 값 100을 생성하므로 표현식임

변수 식별자를 참조하면 변수 값으로 평가됨
-> 값을 생성하진 X, but 값으로 평가되므로 표현식임

score;	// -> 100으로 평가됨

표현식 - 리터럴, 식별자(변수, 함수 등의 이름), 연산자, 함수 호출 등으로 이뤄짐

// 리터럴
10
'Hello'

// 식별자(선언이 이미 존재한다고 가정)
sum
person.name
arr[1]
  • 표현식 = 표현식이 평가된 값 동치임(그 위치에 대신 넣어도 된다는 뜻)

📌 5.4 문 (= 명령문)

문(statement) vs. 표현식(expression) 구분할 줄 알아야 함

문(statement) : 프로그램을 구성하는 기본 단위, 최소 실행 단위
문의 집합 = 프로그램

문 - #개의 토큰으로 구성됨
토큰(token) : 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소
ex) 키워드, 식별자, 연산자, 리터럴, 세미콜론(;), 마침표(.) 등

선언문, 할당문, 조건문, 반복문 등으로 구분됨


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

세미콜론(;) : 문의 종료 나타냄 -> 문이 끝날 때 붙이는 걸 권장함

  • 코드 블록{ ... } 뒤엔 안 붙임 - 얘넨 문의 종료를 의미하는 자체 종결성을 갖기 때문
    ex) if문, for문, 함수 등

📌 5.6 표현식인 문 vs. 표현식이 아닌 문

구별 방법 : 변수에 할당해보기

  • 표현식인 문 : 값으로 평가될 수 있는 문 -> 변수에 할당 가능
  • 표현식이 아닌 문 : 값으로 평가될 수 없는 문 -> 변수에 할당 불가능 => 에러 발생
// 표현식이 아닌 문 - 값처럼 사용 X
var foo = var x;	// SyntaxError : Unexpected token var

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

// 할당문 - 표현식인 문
x = 100;
profile
안녕하세요😊 컴퓨터비전을 공부하고 있습니다 🙌

0개의 댓글