【问题标题】:ES6: Public Symbols vs Private SymbolsES6:公共符号和私有符号
【发布时间】:2012-11-14 00:03:56
【问题描述】:

我一直在寻找有关如何在 ECMAScript 6 中将符号指定为公共或私有的讨论。

据我了解,私有符号将使用类似于以下的模式创建:

var itemManager = (function() {

    var items = new Symbol(/* possible string description? */);

    return {

        [items]: [ ],

        getItems: function() {
            return this[items].slice();
        },

        addItem: function(item) {
            this[items].push(item);
        }

    };

})();

但是我如何将items 符号指定为公开?在 ES6 中是否可以使用公共符号,或者它们只会是私有的(例如,不会出现在 Object.getOwnPropertyNames 中)?此外,默认情况下公共符号是否可枚举(显示在 Object.keys 中)?

谁能给我链接相关信息?

【问题讨论】:

  • 只需将其定义为数据属性即可。

标签: javascript ecmascript-harmony ecmascript-6


【解决方案1】:

无论是非私有名称及其语义,还是一般名称的精确句法支持都尚未完全确定。因此,目前还没有任何东西可以将您链接到。您能得到的最好结果就是在 es-discuss 上挖掘相关主题。

【讨论】:

    猜你喜欢
    • 2011-01-09
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    相关资源
    最近更新 更多