es6 symbol的出现是针对什么场景?
假如我有个对象放在工具(util.js)里面
let symbol = Symbol('whatever');
export let obj = {
[symbol]() {
console.log('log');
},
say() {
console.log('say');
}
}
我想要在组件里面使用这个方法,比如使用say(),我可以直接import obj,然后obj.say()。
如果我想要使用[symbol]的这个方法,岂不是还要将symbol export,然后import symbol和obj,再去执行obj[symbol]()。
这样岂不是更复杂了?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一个不重复的值
node中有一个比较实际的场景,
require('util').promisify.custom
就是一个Symbol
。用于设置自定义的
promisify
函数,不会担心这个属性被其他人误操作而覆盖。我们也可以通过这个
key
来取出对应的函数。