微信小程序开发好了_es6中new.target的作用和使用场

2021-01-05 15:28 admin
es6中new.target的作用和使用场景简单示例分析       这篇文章主要介绍了es6中new.target的作用和使用场景,结合简单示例形式分析了es6中new.target的基本功能、原理、使用方法及操作注意事项,需要的朋友可以参考下

本文实例讲述了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); // 正确

参考:

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:测试上述代码运行效果。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《》

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