오늘 정리할 내용은 ‘표현식 & 문’이다.
우리는 반복문, 조건문
함수 표현식 등 다 들어본 단어이다.
하지만 얘네들의 진짜 의미는 무엇일까?
값
우선 표현식에 대해 배우려면 ‘값’이란 무엇인가에 대해 알아야한다.
“값이란 식이 평가되어 생성된 결과”를 이야기 한다.
10 + 20이 있다면 10 + 20이라는 식은 평가되어 30이라는 결과 ‘값’을 생선하게 된다.
표현식
그러면 표현식이란
“값으로 평가될 수 있는 문”이다.
표현식이 평가되면 새로운 값을 생성하게 된다.
1
2
3
var score = 100;
var score = 50 + 50;
score;
첫 번째 100은 자바스크립트 엔진에 의해 평가되어 만든 값이라 그 자체가 표현식이다.
두 번째는 당연히 50 + 50이 평가되어 값을 만드니 표현식이다.
세 번째는 score라는 변수는 참조하여 값을 생성하기에 표현식이다.
이렇게 값으로 평가되는 문은 다 표현식이다.
문
문과 표현식에는 어떤 차이가 있을까?
문은 “프로그램을 구성하는 기본 단위이자 최소 실행 단위”를 뜻한다.
문이 모이면 프로그램인 것이다.
그래서 문에는 선언문, 할당문, 반복문, 조건문 등이 존재하는 것이다.
이것들이 모여 우리의 코드가 실행되어 페이지를 구성하게 된다.
여기서 ;(세미콜론)은 문의 종료를 뜻한다.
자바스크립트 엔진은 ;을 통해 문이 종료한 위치를 알고,
해당 문을 실행한다.
그래서 문을 끝낼 때는 세미콜론을 붙이는 것이다.
그러나 이 ;은 옵션이다.
생략을 할 수가 있고, 생략이 되면 자바스크립트 엔진이 알아서 예측을 하게 된다.
이런 세미콜론 자동 삽입 기능을 ASI(automatic semicolon insertion)라고 한다.
하지만 이런 예측이 항상 100%맞는 것은 아니다.
그래서 필요에 따라 우리가 직접 붙이자.
그런데 요즘 프리티어가 다 알아서 붙여주니까 좋다.
이젠 없으면 허전해잉.
또한 표현식인 문과 표현식이 아닌 문을 구별하는 방법은 변수에 할당 했을 때 할당이 가능하면 표현식인 문이고
안되면 표현식이 아닌 문이다.
오늘도 조금 배웠다.
매일매일 조금씩 가자!