본문 바로가기
Language/javascript

[javascript] 1급 함수 vs 1급 객체 란?

by jungwon3004 2022. 1. 31.
728x90
반응형

1. '1급 객체' 정의

1급객체의 원어 표현은 "1st class object"이다.

즉, 해당 객체가 1등 시민이고, 어느 곳이든 갈 권리가 있는 객체라는 것이다.

 

가장 중요한 요건은 3가지이다.

(1) variable에 담을 수 있다

(2) parameter로 전달할 수 있다

(3) return type으로 지정할 수 있다

 

이게 프로그래밍 언어에서 1급 시민이 되는 조건이다.

 

728x90

 

2. javascript의 1급 함수

1급 객체의 개념을 그대로 함수에 적용한 것이 1급 함수이다.

 

(1) parameterfunction 지정 가능

(2) return typefunction 지정 가능

(3) constant(상수)나 variable(변수)function을 할당 가능

 

다만 1급 함수가 되기 위한 몇 가지 추가적 조건이 있다.

(1) runtime (런타임) 생성 가능

(2) anonymous (익명) 생성 가능 -> 익명함수

 

반응형

 

사실 개념 자체는 굉장히 간단하다.

 

하지만 이게 나중에 js의 closure (클로저) 개념과 합쳐지면 강력한 무기가 될 것이다.

 

 

 

728x90
반응형