함수(function)
함수선언문으로 함수를 선언 했을 때는 함수호이스팅으로 함수가 선언, 초기화, 할당이 한 번에 이뤄지지만 함수표현식으로 함수를 생성했을 때는 변수호이스팅이므로 할당을 나중에 이뤄진다.
함수에서 length 프로퍼티는 함수 정의 시 작성된 매개변수 갯수를 의미한다.
function foo() {}
console.log(foo.length); // 0
function bar(x) {
return x;
}
console.log(bar.length); // 1
function baz(x, y) {
return x * y;
}
console.log(baz.length); // 2
name프로퍼티는 함수명을 반환한다. 이때 함수표현식으로 했을 경우 빈문자열을 반환
// 기명 함수 표현식(named function expression)
var namedFunc = function multiply(a, b) {
return a * b;
};
// 익명 함수 표현식(anonymous function expression)
var anonymousFunc = function(a, b) {
return a * b;
};
console.log(namedFunc.name); // multiply
console.log(anonymousFunc.name); // ''
프로토타입하기