Statement과 Expression

Dino_·2021년 7월 18일
0

이것도 알아?

목록 보기
2/8
post-thumbnail

🔔 Goal

  • statement(문)과 expression(식)에 대해서 이해한다.
  • 함수 선언식과 함수 표현식

🌳 Expression

무엇이든 value를 리턴한다면 expression 이다.

5 + 1; //6이라는 값을 만들어내기 때문에 expression
function add(a, b){
	return a + b;
}

const how = add(5, 6); //11이라는 값을 만들어내기 때문에 expression
function add(a, b){
	a + b;
}

const how = add(5, 6); //expression, 그 이유는 undefined를 만들어 냄

🌳 Statement

명령 혹은 지시 이다.

//아무것도 만들어내지 않는다. 그렇기 때문에 지시/명령이다.
if(true){
	...
}

const thing - if(true){...}

대표적으로 if, else, else if, for, while 등이 있다.

🌳 Function Declaration

const awesome = add(1, 5);
 
function add(a, b){
    return a + b;
}
 
console.log(awesome);

awesome에 add라는 함수를 호출하게 되었고, 그때 존재하지 않는 함수 add를 사용했다.

하지만, Function Declaration으로 작성된 모든 함수들을 맨 처음으로 가져와 선언하게 되기 때문에 오류가 발생하지 않는다.

이를 함수 호이스팅(hoisting)이라고 한다.

🌳 Function Expression

const awesome = add(1, 5);
 
var add = function (a, b){
     return a + b;
}
 
console.log(awesome);

Function Expression 은 함수 호이스팅이 적용되지 않기 때문에 이미 선언되어 있지 않은 함수에 대해 호출한다면 오류가 발생한다.

🌳 정리

Expression 은 어떠한 값(숫자, 문자열, 객체, null, undefined 등)을 만들어내는 식

Statement 는 값을 만들어내지 않고 상태 동작을 지시하거나 명령하는 문

profile
호기심 많은 청년

0개의 댓글