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 相关文章推荐
IE 当eval遇上function的处理
Aug 09 Javascript
JS替换文本域内的回车示例
Feb 18 Javascript
Three.js学习之正交投影照相机
Aug 01 Javascript
JavaScript制作弹出层效果
Dec 02 Javascript
修改ligerui 默认确认按钮的方法
Dec 27 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
Dec 25 jQuery
js+canvas实现滑动拼图验证码功能
Mar 26 Javascript
Vue 进阶之路(三)
Apr 18 Javascript
微信小程序左滑删除实现代码实例
Sep 16 Javascript
js实现漂亮的星空背景
Nov 01 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 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,不用COM,生成excel文件
2006/10/09 PHP
PHP5 面向对象程序设计
2008/02/13 PHP
Yii rules常用规则示例
2016/03/15 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
拖动时防止选中
2017/02/03 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
python实现在每个独立进程中运行一个函数的方法
2015/04/23 Python
python模拟Django框架实例
2016/05/17 Python
python在非root权限下的安装方法
2018/01/23 Python
Python Flask框架扩展操作示例
2019/05/03 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
Python3离线安装Requests模块问题
2019/10/13 Python
Python生成词云的实现代码
2020/01/14 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
python实现录制全屏和选择区域录屏功能
2021/02/05 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
给定一个时间点,希望得到其他时间点
2013/11/07 面试题
感恩老师的演讲稿
2014/05/06 职场文书
公民授权委托书范本
2014/09/17 职场文书
公司员工离职证明书
2014/10/04 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
主持人开场白台词
2015/05/29 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js