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 相关文章推荐
(转载)JavaScript中匿名函数,函数直接量和闭包
May 08 Javascript
php对mongodb的扩展(小试牛刀)
Nov 11 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
May 27 Javascript
jquery拖动插件(jquery.drag)使用介绍
Jun 18 Javascript
JavaScript移除数组元素减少长度的方法
Sep 05 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
Jun 03 Javascript
JavaScript实现对下拉列表值进行排序的方法
Jul 15 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
Jul 12 Javascript
PHP抓取HTTPS内容和错误处理的方法
Sep 30 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
解决vue打包项目后刷新404的问题
Mar 06 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
Jul 24 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
php检测图片木马多进制编程实践
2013/04/11 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
JavaScript中0和""比较引发的问题
2016/05/26 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python上传package到Pypi(代码简单)
2016/02/06 Python
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
为什么Python中没有"a++"这种写法
2018/11/27 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
高校教师自荐信范文
2014/03/13 职场文书
升旗仪式主持词
2014/03/19 职场文书
贷款担保书
2015/01/20 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫