这两种JavaScript静态变量声明区别?

发布于 2022-09-11 23:15:45 字数 250 浏览 19 评论 0

window.Tool = (function(){
    "use strict"
    class Test{
        static Value = "1";
    }
    Test.Value = "1";
}({}))

请问上面两个Value静态成员变量声明有什么区别。
我在Chrome上面跑都可以获取。但是在Node环境就不行。
用babel转es5也会报错。有些不明白这两种声明有什么区别。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

豆芽 2022-09-18 23:15:45

没本质区别。

class Test {
}
Test.Value = "1"; // 这是 ES6 静态属性的写法
class Test {
    static Value = "1"; // 这是 ES7 静态属性的写法;当然你也可以继续用 ES6 那种
}

ES7 的那种写法暂时还处于 stage-1 阶段,默认不支持, Babel 的话你需要引入这个插件:https://babeljs.io/docs/en/ba...

相关介绍可以看 MDN 有关静态共有字段的部分:https://developer.mozilla.org...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文