ES6:公共符号与私有符号

时间:2012-11-26 13:43:06

标签: javascript ecmascript-harmony ecmascript-6

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

有人可以将我链接到相关信息吗?

1 个答案:

答案 0 :(得分:4)

非私人名称及其语义,以及对名称的精确句法支持都没有完全解决。所以没有任何东西可以链接到你。你能得到的最好的就是在es-discuss上挖掘相关主题。