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 相关文章推荐
JS中实现replaceAll的方法(实例代码)
Nov 12 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
Nov 22 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
Jun 01 Javascript
jquery实现select下拉框美化特效代码分享
Aug 18 Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 Javascript
BootStrap实现手机端轮播图左右滑动事件
Oct 13 Javascript
javascript简单进制转换实现方法
Nov 24 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
Dec 08 Javascript
Angularjs cookie 操作实例详解
Sep 27 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 jQuery
JavaScript常用内置对象用法分析
Jul 09 Javascript
vue使用element-ui实现表单验证
Dec 13 Vue.js
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
第1次亲密接触PHP5(2)
2006/10/09 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
php快速查找数据库中恶意代码的方法
2015/04/01 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
javascript 读取图片文件的大小
2009/06/25 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python访问sqlserver示例
2014/02/10 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
Django的Modelforms用法简介
2019/07/27 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
python模块内置属性概念及实例
2021/02/18 Python
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
创伤外科专业推荐信范文
2013/11/19 职场文书
运动会稿件300字
2014/02/14 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
毕业生应聘求职信
2014/07/10 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
地方课程教学计划
2015/01/19 职场文书
任命书标准格式
2015/03/02 职场文书
幼儿园安全工作总结2015
2015/04/20 职场文书
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android
MySQL 原理与优化之Limit 查询优化
2022/08/14 MySQL