자바스크립트 핵심컨샙33 #7. 식(expression) vs 문(statement)

김동욱·2021년 7월 13일
0

자바스크립트

목록 보기
7/25
post-thumbnail

비교

function func() {
  console.log('hi');
};//함수 선언문

let func = function() {
  console.log('hi');
};//함수 표현식

자바스크립트를 몇번 보신 분들이라면 위 두개의 모양을 많이 보셨을겁니다. 위 두개의 차이는 호이스팅의 차이입니다. 하지만 지금은 호이스팅에 관한 주제가 아니기 때문에 넘어가겠습니다.

첫번째 함수는 '선언'만 하고 아무것도 안했습니다.
두번째 함수는 'func'라는 변수에 '할당'을 했습니다. 즉 이 함수는 func라고 =라는 '할당 표현식' 으로 할당했습니다.

이처럼 문은 '이것이 이거다'라고 선언을 하고 값을 도출하진 않습니다.
식은 '이렇게 해라'라고 값을 도출합니다.


1. 식(expression)

1 + 1
"asd"
func()//함수가 선언되었다고 예시

식은 '값(value)'을 반환합니다!
프로그래밍 언어는 '식'에서 또 다른 '값'을 생성합니다. 이러한 연산 과정을 평가(evaluation)이라고 합니다.

문을 통해 값을 반환하는건 문 안에 식이 들어가있기때문입니다.


2. 문(statement)

function func() {something...};
if(true){something...};
const x = something...;

문은 무언가를 수행하도록 컴퓨터에게 명령을 내리는 코드 입니다.
우리가 많이 들었던 '반복문, 변수선언, 함수선언, 조건문...'등이 그것들입니다.
이것들 자체로는 '값(value)'을 반환 못합니다.


여기서 알 수 있는 점은 '값'을 얻고싶으면 '문'을 이용해 '식'을 조합하여 '값'을 도출해야합니다.
(햇갈린다...)

profile
안녕하세요. 부산에서 근무하고 있는 프론트엔드 개발자 김동욱입니다. 영어 공부 겸 개발 공부를 위해서 글을 작성하고있습니다.

0개의 댓글