美文网首页重学es6
class讲解之12 new.target 属性

class讲解之12 new.target 属性

作者: zhang463291046 | 来源:发表于2020-08-13 10:24 被阅读0次

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

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

相关文章

  • class讲解之12 new.target 属性

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

  • class讲解之6 静态属性

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

  • class讲解之4 实例属性

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

  • ES6中Class的基本语法及与ES5中Cass的区别

    目录 简介 静态方法 实例属性的新写法 静态属性 私有方法和私有属性 new.target属性 一、简介 类的由来...

  • 深入理解ES6:3.函数

    Tags:默认参数、不定参数、展开运算符、name 属性、元属性 new.target、箭头函数、尾调用优化、 函...

  • es6-60行代码帮你梳理es6中class的基本语法

    语法 总概: 实例属性和实例方法 静态属性和静态方法 私有属性和私有方法 new.target用来判断是否通过ne...

  • Swift 计算型属性和存储型属性的差别

    class Pet {// 存储属性var age = 12let name = "小花"var ppName: ...

  • 深入了解runtime

    iOS经典讲解之[self class]和[super class]的区别 iOS的消息机制和消息转发 Objec...

  • class讲解之8 私有属性(ES2019版)

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

  • class讲解之1 演变

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

网友评论

    本文标题:class讲解之12 new.target 属性

    本文链接:https://www.haomeiwen.com/subject/holorktx.html