sue
  • 함수도 오브젝트!
    2020년 11월 03일 23시 05분 29초에 업로드 된 글입니다.
    작성자: sue24

    일급함수 First-class function

    JavaScript는 일급함수를 지원한다.

     

    일급함수란 object, string 등 다른 타입에서 할 수 있는 일이라면

     

    함수도 할 수 있다는 개념이다.

     

    • 변수에 할당하거나
    • 실행 중에 생성하는 등

    다른 타입에서 할 수 있는 모든 일을 포함한다.

     

     

    즉, 함수를 특별한 오브젝트라고 볼 수 있다.

     

    이는 오브젝트의 모든 기능 + 함수만의 특별한 기능을 수행할 수 있기 때문이다.

     

    오브젝트이기 때문에 속성과 메소드를 더할 수 있다.

     

     

    함수만의 특별한 기능은 두 가지를 들 수 있다.

     

    첫번째, 이름을 가질 수 있다.

     

    이름을 가질 수 있는 것이지 가져야만 하는 것은 아니기 때문에

     

    익명 함수로 남는 것 역시 가능하다.

     

     

    두번째, code를 가진다.

     

    함수의 내용을 말한다.

     

    함수의 내용 역시 함수의 속성 중 하나라고 말할 수 있다.

     

    특별한 속성으로 호출이 가능하다.

    ()를 이용해서 호출한다!
    function greet() {
    	console.log('hi!');
    }

    greet 함수에서 console.log('hi!'); 이 부분이 바로 greet 함수의 코드 속성이다.

     

     

    JavaScript의 함수가 일급함수, 즉 특별한 기능을 가진 오브젝트이기 때문에

     

    함수에 속성을 더할 수 있다.

     

    greet.language = 'English';

    이렇게 간단하게 greet 함수에 language라는 속성을 더할 수 있다.

     

    greet 함수의 이름 속성은 greet,

     

    코드 속성은 console.log('hi');이고

     

    greet();를 통해서 부를 수 있다.

    'JS' 카테고리의 다른 글

    amCharts5 세계 지도 - 나라별  (0) 2022.06.09
    amCharts5 튜토리얼  (0) 2022.06.08
    Objects and the dot  (0) 2020.08.25
    연산자의 우선순위와 결합법칙  (0) 2020.08.21
    연산자는 함수다  (0) 2020.08.20
    댓글