es6中new.target的作用和使用场景简单示例分析
2020-03-15 12:09
337 查看
本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- ES6使用let命令更简单的实现块级作用域实例分析
- ibeacon的使用和应用场景简单示例
- Python中使用插入排序算法的简单分析与代码示例
- BitSet的使用场景及简单示例
- es6中new.target的作用和使用场景
- iOS开发:runtime原理简单分析和基本使用场景
- Python中使用插入排序算法的简单分析与代码示例
- yii2.0框架场景的简单使用示例
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- checkedListBox控件的使用简单示例
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- 使用WinDbg对Windows Live Toolbar死锁的简单分析
- 推荐SQLPrompt3 -简单破解无限期的使用这款很不错的SQL查询分析工具
- DELPHI中使用Tlist类的简单分析 推荐
- Erlang中使用变量的简单示例
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- Tcpdump命令的使用与示例——linux下的网络分析
- 使用WinDbg对Windows Live Toolbar死锁的简单分析
- 分区表的作用和使用深入分析(如何用分区表来优化数据库)
- flex 与 java交互 的一个简单示例 (使用RemoteObject)