首页 > web前端 > js教程 > 当 ES6 类本身不支持类变量时,如何管理类变量?

当 ES6 类本身不支持类变量时,如何管理类变量?

Barbara Streisand
发布: 2024-11-15 12:46:02
原创
554 人浏览过

How do you manage class variables in ES6 classes when they are not natively supported?

ES6 中的类变量替代方案

在 ES5 中,开发人员经常使用舒适的模式来创建类和类变量,如下所示code:

// ES 5
FrameWork.Class({

    variable: 'string',
    variable2: true,

    init: function(){

    },

    addItem: function(){

    }

});
登录后复制

但是,在 ES6 中,原生创建类并不包含拥有类的选项变量,如下所示:

// ES6
class MyClass {
    const MY_CONST = 'string'; // <-- this is not possible in ES6
    constructor(){
        this.MY_CONST;
    }
}
登录后复制

这是因为ES6类被限制只能包含方法。虽然可以在构造函数中设置 this.myVar,但不要让构造函数变得混乱,尤其是对于大型类。

已经考虑了几种方法来解决此问题,包括:

  • 创建 ClassConfig 处理程序: 将参数对象传递给处理程序,该处理程序与类分开声明。然后处理程序将附加到该类。 WeakMaps 可能会为此目的进行集成。
  • 第 3 阶段提案: 该提案允许使用语法 varName = value 在类声明/表达式主体中声明变量。预计将来会过时。
  • 设置构造函数变量:虽然不是一个完美的解决方案,但 constructor(){ this.foo = bar } 可以用于设置实例变量。
  • ES7 属性初始值设定项: ES7 的新提案允许使用类声明和表达式。

以上是当 ES6 类本身不支持类变量时,如何管理类变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板