假如我有个对象放在工具(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]()。
这样岂不是更复杂了?
一个不重复的值
node中有一个比较实际的场景,
require('util').promisify.custom
就是一个Symbol
。用于设置自定义的
promisify
函数,不会担心这个属性被其他人误操作而覆盖。我们也可以通过这个
key
来取出对应的函数。