我最近看了 ECMAScript 2015。
ECMAScript 2015 有类初始化器吗?
例如,我试着把类写得像一个解析器;
class URLParser {
parse(url) {
let regex = /(https?):\/\/([^\/]+)\/([^\?]*)\?([^#]*)#(.*)/;
(....)
}
}
var a = new URLParser();
a.parse('http://example.com/abc');
a.parse('http://example.com/def');
var b = new URLParser();
b.parse('https://sample.net/abc');
b.parse('https://sample.net/def');
这个正则表达式在类里面很常见,所以我想只初始化一次。
我知道使用构造函数来减少初始化,但会影响实例范围。
我想知道如何减少 class wide 的初始化。
Cảm ơn.
câu trả lời hay nhất
KHÔNG. There is a proposal for static properties though .
在那之前,一如既往,您可以向原型(prototype)添加共享属性:
URLParser.prototype.regex = /(https?):\/\/([^\/]+)\/([^\?]*)\?([^#]*)#(.*)/;
并通过 this.regex
在您的方法中访问它。
关于javascript - ECMAScript 2015(ECMAScript 6) 有类初始值设定项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36989225/