숨 참고 딥 다이브~ 🧤
지금까지 얼마안됐지만..? 살펴본 내뇽에서 값이라는 용어가 자주 등장한다.
항상 공부하다 보면 개념을 이해한다는 것은 바로 용어를 정확히 이해하고 설명할수 있다는 것 인데. 머리로는 이해는 했지만 말로 제대로 설명을 못할때가 많다 요즘 많이 느끼고 있는 참이다.
"다들 그러지 않을까? 🧐"
값은 표현식이 평가되어 생성된 결과를 말한다. 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다.
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 );
}
표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다.
표현식인 문은 값으로 평가되므로 변수에 할당할 수 있다. 하지만 표현식이 아닌 문은 값으로 평가할 수 없으므로 변수에 할당하면 에러가 발생한다.
여기 까지 표현신 관련 내용을 살포시 정리해봤다 좋은 내용이라 두고두고 바도 좋을꺼 같다.
항상 말로만 조건문보면~~ 반복문 해야지~ 했는데 여기에 "문" 이라고 항상 말했던게 프로그램을 구성하는 기분 단위이자 최소 실행 단위 였던것을 이제야 알았던 느낌이다.