0
目前我開始使用JS ECMA6爲我的個人網絡應用程序 ,但我不確定使用符號 ,即如何使用它?ECMA6 Symbols primitive
我相信,它們是作爲唯一ID的令牌。但我不確定它在Web應用程序開發中的用法。
我目前剛剛接觸此標準,請提供您的建議。
目前我開始使用JS ECMA6爲我的個人網絡應用程序 ,但我不確定使用符號 ,即如何使用它?ECMA6 Symbols primitive
我相信,它們是作爲唯一ID的令牌。但我不確定它在Web應用程序開發中的用法。
我目前剛剛接觸此標準,請提供您的建議。
符號啓用對象狀態的訪問控制。符號允許屬性由字符串(如在ES5中)或符號鍵入。符號是一種新的原始類型。用於調試的可選描述參數 - 但不是身份的一部分。符號是獨一無二的(像gensym),但不是私有的,因爲它們通過像Object.getOwnPropertySymbols這樣的反射功能暴露出來。
var MyClass = (function() {
// module scoped symbol
var key = Symbol("key");
function MyClass(privateData) {
this[key] = privateData;
}
MyClass.prototype = {
doStuff: function() {
... this[key] ...
}
};
return MyClass;
})();
var c = new MyClass("hello")
c["key"] === undefined
它可以是referred here。 這裏有幾個環節有很好的解釋例子。(正如在評論部分已經提到。)
見https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol – guest271314
還有http://www.2ality.com/2014/12/es6-symbols.html,它提供了一些非常實用的示例。 – CodingIntrigue
如果您沒有找到任何需求,請不要使用它們。但是,爲你的對象定義自定義迭代器可能會很有用,所以你可以使用'Symbol.iterator'。 – Bergi