Step by Step

모던자바스크립트 Deep Dive - 5장(표현식과 문) 본문

Javascript Study

모던자바스크립트 Deep Dive - 5장(표현식과 문)

짤진이 2024. 2. 10. 18:14
반응형

값은 식이 평가되어 생성된 결과이다

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

따라서 변수에 할당되는 것은 값이다.

 

10 + 20; //30
var sum = 10 + 20;

 

sum 변수에 할당되는 것은 30

자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다.

 

표현식은 값으로 평가될 있는 문이다. 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다.

 

var x = 1 + 2;
x + 3;

 

연산자 좌우에는 숫자가 위치해야하지만 숫자 값으로 평가될 수 있는 표현식이라면 사용 가능하다.

 

문은 프로그램을 구성하는 기본 단위이자 최소 실행단위이다. 문의 집합으로 이루어진 것이 프로그램이며 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍이다.

문은 선언문, 할당문, 조건문, 반복문 등으로 구분된다.

 

//변수 선언문
var x;

//할당문
x = 5;

//함수 선언문
function foo() {}

//조건문
if (x > 1) {
  console.log(x);
}

//반복문
for (var i = 0; i < 2; i++) {
  console.log(i);
}

 

세미콜론은 문의 종료를 나타낸다.

세미콜론은 자동 삽입 가능하지만 개발자와 컴퓨터의 동작이 일치하지 않을 수도 있다.

 

function foo() {
  return;
  {};
}
console.log(foo());
function new_foo() {
  return {};
}
console.log(new_foo());
//출력결과 foo : undefined, new_foo : {}

 

표현식인 문과 표현식이 아닌 문 구별하기

1, 2, 1 + 2, x = 1 + 2 전부 표현식이다

x = 1 + 2 는 표현식이면서 완전한 문이기도 하다.

표현식인 문은 값으로 평가될 수 있는 문이며, 표현식이 아닌 문은 값으로 평가될 수 없는 문을 말한다.

예를들어 변수 선언문은 값으로 평가될 수 없다.

하지만 할당문은 값으로 평가될 수 있다. 따라서 표현식인 문이다.

둘을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해보는 것이다.

 

var res = x = 100
console.log(res) //100
반응형