es6中new.target的作用和使用场景简单示例分析

 更新时间:2020年03月14日 10:38:45   作者:qdmoment  
这篇文章主要介绍了es6中new.target的作用和使用场景,结合简单示例形式分析了es6中new.target的基本功能、原理、使用方法及操作注意事项,需要的朋友可以参考下

本文实例讲述了es6中new.target的作用和使用场景。分享给大家供大家参考,具体如下:

有时候想写出只能被继承使用的类,这时候就要用到new.target

1 含义:

new.target返回使用new方法调用类时的类的名称,子类继承父类时,new.target会返回子类

class Rectangle {
 constructor(length, width) {
  console.log(new.target === Rectangle);
  // ...
 }
}

class Square extends Rectangle {
 constructor(length) {
  super(length, length);
 }
}

var obj = new Square(3); // 输出 false

2 new.target的作用

------限制类的调用方法,判断new.target是不是未定义

-----写出只能被继承使用的类

class Shape {
 constructor() {
  if (new.target === Shape) {
   throw new Error('本类不能实例化');
  }
 }
}

class Rectangle extends Shape {
 constructor(length, width) {
  super();
  // ...
 }
}

var x = new Shape(); // 报错
var y = new Rectangle(3, 4); // 正确

参考:http://es6.ruanyifeng.com/#docs/class

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • Javascript中的函数声明与函数表达式(奇技淫巧)

    Javascript中的函数声明与函数表达式(奇技淫巧)

    Javascript有很多有趣的用法,在Google Code Search里能找到不少,今天从火丁笔记看到的,非常不错,推荐大家看下。
    2011-03-03
  • JavaScript 反科里化 this [译]

    JavaScript 反科里化 this [译]

    本文主要讲了JavaScript中科里化和反科里化this的方法.话题来自于Brendan Eich(JavaScript之父)的一个tweet
    2012-09-09
  • 解析Javascript中难以理解的11个问题

    解析Javascript中难以理解的11个问题

    这篇文章主要是对Javascript中难以理解的11个问题进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • uniapp改变底部安全区顶部手机信号时间电池栏颜色样式

    uniapp改变底部安全区顶部手机信号时间电池栏颜色样式

    这篇文章主要为大家介绍了uniapp改变底部安全区顶部手机信号时间电池栏颜色样式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 微信小程序列表中item左滑删除功能

    微信小程序列表中item左滑删除功能

    这篇文章主要介绍了微信小程序列表中item左滑删除功能,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • 教你用几十行js实现很炫的canvas交互特效

    教你用几十行js实现很炫的canvas交互特效

    HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一块画布,我们可以通过调用脚本在Canvas上绘制任意形状,甚至是制作动画,这篇文章主要给大家介绍了关于用几十行js实现很炫的canvas交互特效的相关资料,需要的朋友可以参考下
    2021-11-11
  • JS实现电影票选座的项目示例

    JS实现电影票选座的项目示例

    电影院选座基本上每个人都用到过,本文主要介绍了JS实现电影票选座的项目示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • JS实现一键回顶功能示例代码

    JS实现一键回顶功能示例代码

    一键回顶功能想必大家在浏览网页时会经常遇到吧,实现的方法也有很多,在本文为大家介绍下js是如何实现的,感兴趣的朋友可以参考下
    2013-10-10
  • 详解webpack-dev-server使用http-proxy解决跨域问题

    详解webpack-dev-server使用http-proxy解决跨域问题

    这篇文章主要介绍了详解webpack-dev-server使用http-proxy解决跨域问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • 微信小程序学习之数据处理详解

    微信小程序学习之数据处理详解

    这篇文章主要给大家介绍了关于微信小程序中数据处理的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07

最新评论