<aside> 📌
자바스크립트의 함수는 객체 타입의 값이다.
이처럼 값의 성질을 갖는 객체를 “일급 객체”라고 한다.
</aside>
const name = function(){ }
vs
function name(){ }
✏️함수 객체를 가리키는 식별자 사용하기
var add = function plus(x, y) {
return x + y;
};
console.log(add(2, 5));
함수를 호출할 때는 함수 이름이 아니라 함수 객체를 가리키는 식별자를 사용해야한다.
✏함수도 객체이기 때문에, 변수에 할당 또는 재할당이 가능하다.
✏function의 메모리 쎌이 변수 add에 할당된다.
let add = function (a, b) {
return a + b;
};
console.log(add(1, 2));
✏무명함수
let add = function sum(a, b){
return a + b;
};
console.log(sum(1, 2));
🍯 함수 표현식에서는 무명함수로 사용하는 것이 좋다.
이름을 사용해도 변수에 할당되면, 변수의 이름으로 함수가 호출될뿐, 함수의 이름은 쓰이지 않는다.