Chap5. 표현식과 문

Muru·2023년 10월 17일
post-thumbnail

5.1 : 값

값 : 표현식이 평가되어 생성된 결과를 말함

ex ) 10 + 20; 은 평가되어서 숫자 값 30을 생성한다.
값은 다양한 방법으로 생성할 수 있음.
위의 방법처럼 식으로 생성할 수 있지만 가장 기본적인 방법은 리터럴을 사용하는 것

5.2 : 리터럴

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

ex ) 3
위의 3은 그냥 단순하게 아라비아 숫자가 아니라 숫자 리터럴을 의미한다.
사람이 이해할 수 있는 아라비아 숫자를 사용해 리터럴 3을 코드에 기술하면 자바스크립트 엔진은 이를 평가해 숫자 값 3을 생성함.

리터럴의 종류는 다양하다.

5.3 : 표현식

표현식 : 값으로 평가될 수 있는 문(statement)이다.

즉 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조함.

값으로 평가될 수 있는 문이라고 했다. 그럼 앞서 살펴봤던 리터럴들은 값을 생성하기 위해 미리 약속한 표기법이였는데 이것들도 값을 생성하므로 표현식이라고 할수 있다. 즉 리터럴 그 자체는 표현식이다.
즉 새로운 값을 생성 or 기존값 참조 하면 표현식

// 리터럴 표현식
10

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

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

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

표현식과 표힌식이 평가된 값은 동등한 관계 즉 동치다.
ex ) 1+2 = 3 // 표현식인 1+2와 값인 3 은 동치

5.4 : 문

문(statement) : 프로그램을 구성하는 기본 단위이자 최소 실행 단위

토큰 : 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미

var sum = 1 + 2 ;

위의 코드 전체를 문이라고 하고
var, sum, =, 1, 2, ;, 각각 키워드,식별자,연산자,리터럴,세미콜론,특수기호 등은 토큰임.

문을 명령문이라고도 부른다. 문은 실행되면 명령이 실행되고 무슨일이 일어남

문은 네 가지로 구분할 수 있음 => 선언문, 할당문, 조건문, 반복문
변수 선언문 : 변수가 선언됨
할당문 : 값이 할당됨
조건문 : 지정한 조건에 따라 실행할 코드 블록이 결정되어 실행됨
반복문 : 특정 코드 블록이 반복 실행됨.

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

표현식인 문과 표현식이 아닌 문을 구분해보자.
var x;
x = 1 + 2;

표현식 : 값으로 평가될 수 있는 문(statement)이다.

즉 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조함.

var x; 선언문은 값으로 평가되지도않고 기존값을 참조하는것도 아니다. 그러므로 표현식이 아닌문이다.

x = 1 + 2; 3이라는 값을 생성하여 평가될 수 있는 표현식이다.

표현식인 문인지 아닌지는 변수에 할당해보는것임

var foo = var x // 표현식이 아닌문은 값처럼 사용할수 없다 !

profile
Developer

0개의 댓글