

일단 new Function과 new Operator는 다르다.
new Function
말 그대로 새로운 함수를 만드는 것 이다.
new rabbit([arg1, arg2, arg3 ...], functionbody);
혹은 functionbody만
new rabbit(functionbody);
요렇게
이딴거 왜씀? 이라고 묻는다면
어떤 문자열도 함수로 바꿀 수 있기 때문이라고 한다.
뉴비는 그런거 몰라..
new Operator와 Constructor Function
이건 constructor function을 이용해서, obj를 만드는법이라고 생각..한다..
위에랑 베리 빅한 차이점은
얜 function을 이용해서 object를 만드는거다!!!
Constructor function이 뭔데 10덕아
let rabbit = new Rabbit(arg)
요런식이다!!
이딴거 왜씀? 물어보면
재사용할 수 있는 객체 생성 코드를 구현하는 것
이라고 한다..
으음.. 그냥 변수에 넣으면 안돼요?
-> 걍 함수 품은 변수(함수) 되는거지 객체 안됩니다.
라고 하단에 써있던데.. 그럼 둘을 어떻게 구분해요?
let animal = {
eats: true
};
function Rabbit(name) {
this.name = name;
}
Rabbit.prototype = animal;
let rabbit = new Rabbit("White Rabbit");
alert(rabbit.eats)
Rabbit을 깜빡하고 rabbit으로 써두면 내가 constructor function인지 그냥 new function인지 어케 알아요

new Function은 arguents, functionbody 혹은 functionbody를 받고,
Constructor Function은 arguments를 받는다.
+) 선생님으 가르침
관습적으로 클래스가 대문자로 시작하고 new Function 은 이 자체로 하나의 쓰임새를 갖기 때문에 혼동될 일은 없을 것이다.
심지어 뉴 오퍼레이터를 사용하는 구문은 대게 인스턴스화 시킬 때만 쓴다.