Home > Article > Web Front-end > How do you manage class variables in ES6 classes when they are not natively supported?
Class Variable Alternatives in ES6
In ES5, developers often used a comfortable pattern to create classes and class variables, as demonstrated in the following code:
// ES 5 FrameWork.Class({ variable: 'string', variable2: true, init: function(){ }, addItem: function(){ } });
However, in ES6, creating classes natively doesn't include the option to have class variables, as shown below:
// ES6 class MyClass { const MY_CONST = 'string'; // <-- this is not possible in ES6 constructor(){ this.MY_CONST; } }
This is because ES6 classes are restricted to containing methods. While it's possible to set this.myVar in the constructor, it's undesirable to clutter the constructor, especially with large classes.
Several approaches have been considered to address this issue, including:
The above is the detailed content of How do you manage class variables in ES6 classes when they are not natively supported?. For more information, please follow other related articles on the PHP Chinese website!