자바스크립트 딥 다이브 5장 - 표현식 과 문

houndhollis·2024년 2월 22일
0

숨 참고 딥 다이브~ 🧤

지금까지 얼마안됐지만..? 살펴본 내뇽에서 값이라는 용어가 자주 등장한다.
항상 공부하다 보면 개념을 이해한다는 것은 바로 용어를 정확히 이해하고 설명할수 있다는 것 인데. 머리로는 이해는 했지만 말로 제대로 설명을 못할때가 많다 요즘 많이 느끼고 있는 참이다.

"다들 그러지 않을까? 🧐"

값은 표현식이 평가되어 생성된 결과를 말한다. 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다.

10 + 20 은 평가되어 숫자 값 30을 생성한다.

변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이라고 했다. 따라서 변수에 할당되는 것은 값이다.

var sum = 10 + 20;

위 예제의 sum 변수에 할당되는 것은 10 + 20이 아니라 평가 된 결과인 숫자값 30이다 즉, 변수 이름 sum이 기억하는 메모리 공간에 저장된 것은 10 + 20 이 아니라 값 30이다.

리터럴

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

숫자 5

5은 단순한 아라비아 숫자가 아니라 숫자 리터럴이다 숫자 리터럴 3을 코드에 기술하면 자바스크립트 엔진은 이를 평가해 숫자 값 3을 생성한다.

표현식

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

앞서 살펴본 리터럴은 값으로 평가된다. 따라서 리터럴도 표현식이다.

var score = 50 + 50;

50 + 50은 리터럴과 연산자로 이뤄져 있다. 하지만 50 + 50도 평가되어 숫자 값 100을 생성하므로 표현식이다. 이번에는 score를 참조해보자 변수 식별자를 참조하면 변수 값으로 평가된다. 식별자 참조는 값을 생성하지는 않지만 값으로 평가되므로 표현식이다.

이처럼 표현식은 리터럴, 식별자, 연산자, 함수 호출 등의 조합으로 이뤄질 수 있다.
값으로 평가될 수 있는 문은 모두 표현식이다. 이 말이 정말 중요한거 같다.

앞으로 자바스크립트를 설명할 때 “문” 과 “표현식” 이라는 용어가 자주 등장할 것이다.
문은 프로그램을 구성하는 기본 단위이자 최소 실행 단위이다.

  • 문의 집합 -> 프로그램 , 문을 작성하고 순서에 맞게 나열하는 것이 프로그래밍이다.
// 변수 선언문
var x ; 

// 할당문
X = 5;

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

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

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

표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다.
표현식인 문은 값으로 평가되므로 변수에 할당할 수 있다. 하지만 표현식이 아닌 문은 값으로 평가할 수 없으므로 변수에 할당하면 에러가 발생한다.

여기 까지 표현신 관련 내용을 살포시 정리해봤다 좋은 내용이라 두고두고 바도 좋을꺼 같다.
항상 말로만 조건문보면~~ 반복문 해야지~ 했는데 여기에 "문" 이라고 항상 말했던게 프로그램을 구성하는 기분 단위이자 최소 실행 단위 였던것을 이제야 알았던 느낌이다.

profile
한 줄 소개

0개의 댓글