자바스크립트 닌자 책의 3장에 대해 정리해 볼 예정이다.
자바스크립트에서 함수는 1종 객체(first-class object)이다. 라는 말을 자주 들어 봤을 것이다. 여기서 말하는 1종 객체란 무엇을 의미하는 걸까?
<1종 객체의 특징>
위의 특징에서 약간의 설명이 필요한 부분에 대해 정리하고 넘어 가겠다.
let x = 1;
let arr = [];
//위와 같이 변수를 선언함과 동시에 값을 바로 정해 주는 것을 리터럴 방식으로 변수 선언 했다고 한다.
//그럼 이와 달리 생성하는 방법이 있을까? 아래와 같은 생성자를 이용한 변수선언 방식이 있다.
let x = new String()
const arr = new Array(3)
자바스크립트의 함수는 위의 1종 객체의 특징을 모두 갖추고 있으므로, 함수는 1종 객체이다.라고 할 수 있다.