This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
`catch` used to be a reserved word in ES3: http://mothereff.in/js-properties#catch It would be better to use a different name that doesn’t cause syntax errors in older browsers, so that feature detection for Futures can be done without `try`/`catch`.
This shouldn't matter. `catch` is not what you feature-detect on; `then` is.
All browsers supports ES5. I would mark this as WONT FIX
arv has spoken per expectations. Less work for me. Sorry Mathias!
(In reply to comment #1) > This shouldn't matter. `catch` is not what you feature-detect on; `then` is. (In reply to comment #1) > This shouldn't matter. `catch` is not what you feature-detect on; `then` is. Even then, any code that uses `catch` would throw a syntax error in ES3 environments. As per ES3: if (featureDetect) { this.catch; } // SyntaxError So, even if you don’t use `catch` in the feature detection snippet, it will still fail: if (featureDetect) { this.catch; } // SyntaxError As long as `catch` is used it means all code relying on Futures should be wrapped in a `try`/`catch` block to avoid throwing in ES3 environments.
If you care about ES3 (and you shouldn't) you can always use member lookup: if (this['catch']) ...