簡體   English   中英

ECMA6符號原語

[英]ECMA6 Symbols primitive

目前,我開始為個人Web應用程序使用JS ECMA6,但是我不確定符號的用法,即如何使用它?

我相信,它們是充當唯一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

可以在這里參考 這里還有一些鏈接,其中有很好解釋的示例。(如注釋部分所述)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM