I have an array of objects that I generate from JSON.parse. I access its properties like this:
AnObject['PhoneList'][i]['PhoneLabel']
When I run the code through the google closure compiler, the name of the properties is not obfuscated and clearly visible. Why are the names of object properties not obfuscated?
Google closure has a difficult time figuring out what it can and can’t rename. For example, any data structure that is created or referenced by code outside the Google closure compiled code cannot be renamed or the two sides won’t be expecting the same code. Further, referencing properties via constructed strings makes it next to impossible for closure to do it’s job well. As such, Closure has a whole bunch of rules and settings to help you control this and direct it for what to do. I’d suggest you read up on those rules/settings at these references:
https://developers.google.com/closure/compiler/docs/api-tutorial3
https://developers.google.com/closure/compiler/docs/compilation_levels
https://groups.google.com/group/closure-stylesheets-discuss/browse_thread/thread/386ba6db27a43887?pli=1
https://developers.google.com/closure/compiler/docs/limitations
And, quoted from this last reference: