일급 객체

신창용·2022년 11월 17일
0
post-custom-banner

개념

  • JavaScript에도 특별한 대우를 받는 일급 객체(first-class-citizen)가 있다.
  • 대표적인 일급 객체 중 하나가 함수이다.
    • 다른 함수의 전달인자(argument)로 전달될 수 있다.
    • 다른 함수의 결과로서 리턴될 수 있다.
    • 변수에 할당(assignment) 할 수 있다.
  • 함수를 변수에 할당할 수 있기 떄문에, 함수를 배열의 요소나 객체의 속성값으로 저장할 수 있다.
  • 함수를 데이터(string, number, boolean, array, object)처럼 다룰 수 있다.
/*
 * 아래는 변수 square에 함수를 할당하는 함수 표현식입니다.
 * JavaScript에서 함수는 일급 객체이기 때문에 변수에 할당할 수 있습니다.
 *
 * 함수 표현식은 할당 전에 사용할 수 없습니다.
 * square(7); // --> ReferenceError: Can't find variable: square
 */

const square = function (num) {
  return num * num;
};

// 변수 square에는 함수가 할당되어 있으므로 (일급 객체), 함수 호출 연산자 '()'를 사용할 수 있습니다.
output = square(7);
console.log(output); // --> 49

함수 표현식은 변수에 할당한 다음 사용할 수 있다.

  • 함수는 변수에 저장된 데이터를 전달 인자로 받거나, 리턴 값으로 사용할 수 있다.
  • 함수도 변수에 저장될 수 있기 때문에 함수를 인자로 받거나, 리턴 값으로 사용할 수 있다.
profile
코딩으로 쓰는 일기장
post-custom-banner

0개의 댓글