以下内容是引用或者借鉴别人的,自己只是做个笔记,方便学习。理解错误的地方,欢迎评论。如有侵权,私聊我删除,未经允许,不准作为商业用途
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
网友评论