比如说一个外部方法返回的一个对象 你需要用到里边的一个属性(假设这个属性不是 Object 类型 而且可能会更新 不能存成变量..的话) 那么你们会把这个属性的 key 存起来吗 万一改属性名了 这边直接改变量就好~
还有就是自己写的时候定义了一个全局对象 里边有一个属性名为 id 那么假如我以后程序迭代想往对象里加值的话 有一个更加符合 id 这个 key 名的 我想改的话 怎么办……
怪我咯2017-05-19 10:36:18
其实大多数情况下都是直接使用这个,对外部方法的值的有些时候时候是要信任的。
这个就得第一次定义的时候定义好了,毕竟id
这种名字不是说改就能改的。
如果题主不放心的话,可以全局定义一个config
文件。
// config.js
export default {
name: 'key_name',
id: 'key_id',
apiKey: 'api_return_key'
}
在你想定义的地方:
import keys from '/config'
const obj = {
[keys.name]: 'hello world',
[keys.id]: 1,
}
export default obj
在你想引用的地方,还得把全局的config里面存储的key拿出来:
import keys from '/config'
import obj from './obj'
obj[keys.name] // hello world
obj[keys.id] // 1
something[keys.apiKey] // 拿到其他不确定是否会变的key名,只需要改config配置
就是这样比较麻烦就是了,实现还是可以实现的,到时候你只需要改变config文件对象里面每一个key对应的名字,就能做到唯一性。