함수 이름을 반환합니다.
반환값의 타입은 string
이다.
function cat() {}
var dog = function() {};
var obj = {
objFunction: function() {}
};
var f = {
coco: function cocoFunction() {}
};
console.log(cat.name); // "cat"
console.log(dog.name); // "dog"
console.log(obj.name); // "objFunction"
console.log(f.coco.name); // "cocooFunction"
Property attributes of Function.name Writable no Enumerable no Configurable(설정가능) yes
읽기 전용이고, 열거되지 않는다.
설정은 변경할 수 있어서 이름을 변경할 수 있다.
BUT 단순 재할당으로는 변경할 수 없다.
function Cat (name) {
Cat.name = name;
this.name = name;
}
var coco = new Cat("coco");
console.log(Cat.name); // "Cat"(변경X)
console.log(coco.name); // "coco"