以下内容是引用或者借鉴别人的,自己只是做个笔记,方便学习。理解错误的地方,欢迎评论。如有侵权,私聊我删除,未经允许,不准作为商业用途
ES6 为new命令引入了一个new.target属性,该属性一般用在构造函数之中,返回new命令作用于的那个构造函数,如果是通过方法constructor调用new.target会返回undefined
function Foo(){
console.log(new.target)
}
new Foo(); //Foo
Foo.call(); //undefined
Class 内部调用new.target,返回当前 Class,当子类继承父类时,new.target会返回子类
class Rectangle {
constructor() {
console.log(new.target);
}
}
class Square extends Rectangle {
}
new Rectangle(); // Rectangle
new Square(); // Square









网友评论