Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

没卵用的 Symbol.for / Symbol.keyFor

  ES6 的 Symbol 提供了两个静态方法 Symbol.for 和 Symbol.keyFor, 它们让 Symbol 可以基于一个字符串产生,只要字符串相同,Symbol 对象的引用就相同。并且 keyFor 方法可以反向地根据一个这样的 Symbol 得到对应的字符串。然而我在想,这真的有用么?
  Symbol 虽然有一个参数,但那只是描述而已,不会影响到 Symbol 本身 Symbol('abc') === Symbol('abc'); // false   只有通过 Symbol.for 来创建的 Symbol 才会绑定一个字符串 Symbol.for('abc') === Symbol.for('abc'); // true   可以通过 keyFor 方法来获取一个 Symbol 对象绑定的字符串 Symbol.keyFor(Symbol.for('abc')); // abc   但是这个特性真的有用么?我表示无法理解。Symbol.for 这东西是全局的,于是字符串也是全局的。也就是相当于在全局放了一个隐藏的命名空间来放置一些共享的 Symbol 对象。即使没有这对函数,在 Symbol 上放一个对象用来存储字符串和 Symbol 的映射关系,这也同样可以做到。所以我还是觉得这对函数没卵用。
网名:
34.203.213.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^