0

我一直在寻找有关如何在 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)?

任何人都可以将我链接到相关信息吗?

4

1 回答 1

4

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

于 2012-11-26T15:40:40.657 回答