gpt4 book ai didi

javascript - ECMAScript 2015(ECMAScript 6) 有类初始值设定项吗?

转载 作者:搜寻专家 更新时间:2023-11-01 05:21:26 28 4
gpt4 key购买 nike

我最近看了 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 的初始化。

谢谢。

最佳答案

没有。 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com