저 강의에서 의도한 같은거라는게 개인적으로 저는
1)
var Person = new Function('number','return number * number');
console.log(Person(10));
이렇게 해도 100이 나오고
2)
function Person(number){
return number*number;
}
console.log(Person(10))
이렇게해도 100이 나오는것처럼
둘다 Person(10)으로 같은결과가 나오는걸 의도하는게 아닐까여?
function Person(){} 랑 var Person = new Function() 둘다 저렇게 하나씩 사용해서여
function Person(){}과 var Person = new Function(); 은 같은거라고 하셨는데 잘못되지 않았나 해서 올립니다.. new Function(); 으로 함수를 만들면 익명함수가 나옵니다..
아마 function Person(){}과 var person = new Person();인데 오타가 나신건 아닌지요..?
생성자로 만들어진 객체에서 해당 객체에 없는 함수를 호출할때 객체 프로퍼티 __proto__를통해서 부모 prototype 객체에서 메소드를 찾아 호출합니다. 그러므로 부모에서 prototype 프로퍼티는 따로 prototype객체를 두어 바로 자식 객체에서 호출할때 부를수 있도록 만들고 자식 __proto__ 경우는 부모 prototype으로 연결하여 부모 프로퍼티, 메소드를 호출할수 있도록합니다.