心中已經從一個JSON.parse
得到了一個對象obj
:爲什麼Google Closure Compiler會重命名對象的屬性名稱?
var obj = JSON.parse(some_data);
而且假定obj
有一個屬性x
:
console.log('Z', obj, obj.x);
控制檯輸出:
Z Object {x: "m", n: Array[256], t: Array[256], v: Array[256]} undefined
由於你看,obj.x
存在。但console.log
的第三個參數打印失敗,是因爲谷歌關閉編譯器產生下面的代碼:
console.log("Z ",a,a.G);
的x
屬性被重命名爲G
。處理這個問題的最好方法是什麼?第一個想法是否使用obj["x"]
。
這也是有趣的東西是谷歌關閉編譯器的desigion重命名x
到G
爲來自JSON.parse
,考慮到JSON是不可用的編譯器和x
可能存在有後面的對象?