JavaScript - new.target
in JS on 공부, Javascript
function Person(name){
if(this instanceof Person){
this.name = name
}else{
throw new Error('new 연산자를 사용하세요.') //Person을 그냥 함수로 호출하면 에러 출력하게
}
}
Person(1)//에러 this 가 window가 됨.
new Person(1)
var p4 = Person.call(p1, '곰')
console.log(p4) //에러안 남. this를 p1으로 들어가기 때문에. 근데 undefined로 남아 있ㅇㅁ
new.target // 자체가 하나의 변수라고 생각하면 됨
function Person (name){
console.dir(new.target);
if(new.target !== undefined){
this.name = name
}else{
throw new Error('new 연산자를 사용하세요.')
}
}
const a = new Person(10);