일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 몬말이지?? 일급객체의 특징을 살펴보자
뭔말인지 모르겠다. 예제로 살펴보자
파라미터로 전달할 수 있다.
var fn = function() { return "First Class Object";}
getFunction(fn); //First Class Object라는 문자열이 아닌 fn함수 자체가 인자로 전달됨
반환값으로 사용할 수 있다, 변수나 데이터 구조 안에 담을 수 있다.
var fn = function() {
return function { return "First Class Object"); } // 반환값으로 사용할 수 있다.
}
var fn2 = fn1; // 변수나 데이터 구조 안에 담을 수 있다.
console.log(fn2()());
할당에 사용된 이름과 관계없이 고유한 구별이 가능하다.
var fn = function f2() { return "First Class Object"; }
fn(); // f2라는 함수명으로 선언했지만, fn으로 사용 가능