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事件问题
Sep 05 Javascript
jQuery学习笔记之toArray()
Jun 09 Javascript
AngularJS基础 ng-mousemove 指令简单示例
Aug 02 Javascript
canvas实现环形进度条效果
Mar 23 Javascript
Mac系统下Webstorm快捷键整理大全
May 28 Javascript
深入解析Vue 组件命名那些事
Jul 18 Javascript
JavaScript面试出现频繁的一些易错点整理
Mar 29 Javascript
AngularJS ui-router刷新子页面路由的方法
Jul 23 Javascript
微信小程序框架wepy之动态控制类名
Sep 14 Javascript
vue debug 二种方法
Sep 16 Javascript
ES6数组与对象的解构赋值详解
Jun 14 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
Jun 26 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实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
2020/04/26 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
2019/08/01 Javascript
vue实现图片上传预览功能
2019/12/23 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
简化Python的Django框架代码的一些示例
2015/04/20 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
《九色鹿》教学反思
2014/02/27 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
初三学生评语大全
2014/04/24 职场文书
小学运动会加油词
2015/07/18 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
优质服务标语口号
2015/12/26 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书