重学es6

class讲解之12 new.target 属性

2020-08-13  本文已影响0人  zhang463291046

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

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
上一篇下一篇

猜你喜欢

热点阅读