함수가 객체라는 사실은 다른 프로그랭 언어와 구별되는 자바스크립트의 중요한 특징이다.
- 모던 자바스크립트 딥다이브, 이응모
JS 에서 함수를 호출하는 로직
- 자바스크립트 엔진은 생성된 함수를 호출하기 위해 함수 이름과 동일한 이름의 식별자를 암묵적으로 생성하고, 거기에 함수 객체를 할당함
일급객체
- 자바스크립트의 함수는 값처럼 변수에 할당되거나, 프로퍼티 값 또는 배열의 요소가 될 수 있음. 값의 성질을 갖는 객체를 일급객체 라고 함
// 기명 함수 표현식
var add = function foo (x,y) {
return x+y;
};
// 함수 객체를 가리키는 식별자로 호출
console.log(add(2,5)); //7
// 함수 이름으로 호출 -> ReferenceError
// 함수 이름은 함수 몸체 내부에서만 유효한 식별자
console.log(foo(2,5)); // ReferenceError: foo is not defined
Arrow Syntax
'CS 공부 - front' 카테고리의 다른 글
[JS] Rest Syntax (0) | 2024.11.21 |
---|---|
[웹] canonical url (0) | 2023.04.06 |
[웹] Google AMP (1) | 2023.04.06 |
[웹] 검색엔진최적화, SEO (0) | 2023.03.09 |
[웹/최적화]Image Lazy Loading (2) | 2023.02.27 |