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


Posted in Javascript onMarch 14, 2020

本文实例讲述了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.3water.com/code/HtmlJsRun测试上述代码运行效果。

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

Javascript 相关文章推荐
jquery动画3.创建一个带遮罩效果的图片走廊
Aug 24 Javascript
JavaScript的事件绑定(方便不支持js的时候)
Oct 01 Javascript
jQuery插件scroll实现无缝滚动效果
Apr 27 Javascript
jQuery UI库中dialog对话框功能使用全解析
Apr 23 Javascript
AngularJS ng-controller 指令简单实例
Aug 01 Javascript
清除浏览器缓存的几种方法总结(必看)
Dec 09 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
Jul 10 Javascript
javascript实现考勤日历功能
Nov 29 Javascript
如何基于JS截获动态代码
Dec 25 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
Feb 01 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
May 10 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
Mar 14 #Javascript
js中forEach,for in,for of循环的用法示例小结
Mar 14 #Javascript
JS原型prototype和__proto__用法实例分析
Mar 14 #Javascript
JS数组的高级使用方法示例小结
Mar 14 #Javascript
vue-resource post数据时碰到Django csrf问题的解决
Mar 13 #Javascript
js函数和this用法实例分析
Mar 13 #Javascript
js对象简介与基本用法示例
Mar 13 #Javascript
You might like
第三节 定义一个类 [3]
2006/10/09 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
动态读取JSON解析键值对的方法
2014/06/03 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
js实现文件上传表单域美化特效
2015/11/02 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
详解JavaScript 的变量
2019/03/08 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
python实现二分查找算法
2017/09/21 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
jupyter notebook 多行输出实例
2020/04/09 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
毕业生自我鉴定范文
2013/11/08 职场文书
军人违纪检讨书
2014/02/04 职场文书
体育节口号
2014/06/19 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
大四学生个人总结
2015/02/15 职场文书