Hacker News new | ask | show | jobs
by bsimpson 4734 days ago
I don't know how you can safely declare what's used vs unused in a language where properties can be dynamically accessed.

It's easy to check for dict.someProperty, but dict[propertyName] where propertyName can be the string "someProperty" is a much more complicated problem. Now you have to build a tree of everything that changes propertyName and make sure you know it can never be "someProperty".

1 comments

You can't dynamically access scope objects in standard javascript[0] except by using `eval`, and `eval` already triggers special handling and deoptimizations in pretty much all browsers.

[0] outside of the global scope through `window` but all variables are clearly local here so that doesn't apply.

Doh! Good point.