‘name’ 프로퍼티
function sayHi() {
alert("Hi");
}
alert(sayHi.name); // sayHi
------------------------------------------------------
let sayHi = function() {
alert("Hi");
};
alert(sayHi.name); // sayHi (익명 함수이지만 이름이 있네요!)
‘length’ 프로퍼티
내장 프로퍼티 length는 함수 매개변수의 개수를 반환
function f1(a) {}
function f2(a, b) {}
function many(a, b, ...more) {}
alert(f1.length); // 1
alert(f2.length); // 2
alert(many.length); // 2
클로저를 함수 프로퍼티로 사용가능
function makeCounter() {
function counter() {
return counter.count++;
};
counter.count = 0;
return counter;
}
let counter = makeCounter();
counter.count = 10;
alert( counter() ); // 10
'new Function' 문법
문자열을 함수로 바꿀 수 잇음
let func = new Function ([arg1, arg2, ...argN], functionBody);
let sum = new Function('a', 'b', 'return a + b');
alert( sum(1, 2) ); // 3