ECMA6符号原语

时间:2015-10-01 05:54:44

标签: javascript ecmascript-6

目前我开始使用JS ECMA6作为我的个人网络应用程序
但我不确定是否使用了Symbols
即。我该如何使用它?





我相信,它们是用作唯一ID的令牌。但我不确定它在Web应用程序开发中的用途。





我目前不熟悉此标准,请提供您的建议。

&#xA ;

1 个答案:

答案 0 :(得分:0)

符号启用对象状态的访问控制。符号允许通过字符串(如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。 以下是一些很好解释的例子。(正如评论部分已经提到的那样。)