-
[JavaScript] 일급 객체(first class citizen)JavaScript 개념 2022. 6. 18. 14:47
일급 객체란?
다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 개체를 가르킨다. 보통 함수에 매개변수로 넘기기,
수정하기, 변수에 대입하기와 같은 연산자을 지원할 때 일급 객체 라고 부른다.
(javaScript에서는 함수가 일급객체 이다)
아래와 같은 조건을 만족하는 객체는 일급 객체를 의미한다.
1. 변수나 상수에 할당 가능
let name = ()=>{ return "홍길동" } console.log(name) // =>[Function: name]
2. 파라미터로 전달할 수 있어야함
let name = ()=>{ return "홍길동" }; let friend = (value) =>{ console.log(value) }; friend(name()) //=>홍길동
3. 함수의 반환 값으로 사용될 수 있어야 한다.
let name = ()=>{ return function(){ console.log("홍길동") }; }; let friend = name(); console.log(friend())
4. 동적으로 프로퍼티 생성이 가능하다.
function fruits(){ console.log("바구니가 비었습니다.") } fruits.apple = "사과"; fruits.banana = "바나나"; console.log(fruits.apple); console.log(fruits.banana);
자바스크립트의 함수가 일급 객체이기때문에 할수 있는것은?
1. 고차함수
2. 콜백함수
이 두개에 대해서는 다음 글에서 자세히 다뤄보겠습니다!
'JavaScript 개념' 카테고리의 다른 글
[JavaScript] JavaScript Event Loop (0) 2022.07.03 [JavaScript] Garbage Collection(쓰레기 수집가) (0) 2022.06.22 [JavaScript] 얕은 복사(shallow copy) vs 깊은 복사(deep copy) (0) 2022.06.16 JavaScript 원시타입과 참조타입 (0) 2022.06.02 JavaScript 객체(Object) (0) 2022.06.01