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

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

10月31日提问
1 个回答
1

已采纳

没本质区别。

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...

撰写答案

推广链接