프로그래밍/JavaScript

07_자바스크립트 : 일급 객체

pupu91 2022. 7. 28. 17:01
반응형

 

- 무명의 리터럴로 생성 가능 (런타임에 생성)

- 변수나 자료구조(객체, 배열 등)에 저장할 수 있음

- 함수의 매개변수에 전달 가능

- 함수의 반환 값으로 사용 가능

 

1. 무명의 리터럴로 생성, 변수에 저장
var hello = function () {
    return '안녕하세요!';
};

2. 객체에 저장
var obj = { hello };

3. 함수의 매개변수에 전달할 수 있음
function repeat(func, count) {
    for(var i = 0; i < count; i++) {
        console.log(func());
    }

4. 함수의 반환값으로 사용할 수 있다.
    return function () {
        console.log(`${count}번 반복 완료`);
    }
} 

var returnFunc = repeat(obj.hello, 5);
returnFunc();

=> 안녕하세요!
안녕하세요!
안녕하세요!
안녕하세요!
안녕하세요!
5번 반복 완료

- 함수가 일급 객체라는 것은 함수를 객체와 동일하게 사용할 수 있다는 의미
- 객체는 값이므로 함수는 값과 동일하게 취급 가능
- 변수 할당문, 객체의 프로퍼티 값, 배열의 요소, 함수 호출의 인수, 함수 반환문 등에서 사용

반응형