Hacker News new | ask | show | jobs
by nullz 4030 days ago
It doesn't in v8 -- what do you mean by `should`?
1 comments

It's an implementation error. In Firefox, it correctly throws:

> ReferenceError: can't access lexical declaration `a' before initialization

No, legacy const is not spec'd by ES5. It behaves differently in FireFox and V8 because it was added at different times with different semantics in the live range hole case. In strict mode, it will throw on V8 as well.