比如說一個外部方法回傳的一個物件你需要用到裡邊的一個屬性(假設這個屬性不是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對應的名字,就能做到唯一性。