Bug 28236
Summary: | Eval doesn't respect JavaScript's const keyword | ||
---|---|---|---|
Product: | WebKit | Reporter: | Joseph Pecoraro <joepeck> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | aroben, barraclough, kmccullough, oliver, timothy |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All |
Joseph Pecoraro
It seems a const variable declared in the Console is just a "var" and can change value.
> zzz // ensure it doesn't exist
ReferenceError: Can't find variable: zzz
> const zzz = 10;
undefined
> zzz = 5; // should do nothing
5
> zzz
5
I would have expected the result to have been 10, since the constant shouldn't change.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Joseph Pecoraro
Maybe this is actually a problem with eval():
Expected Behavior without eval:
javascript:const zza = 10; zza = 5; alert(zza) => 10
Bad Behavior with eval:
javascript:alert(eval("const zzb = 10; zzb = 5; zzb")) => 5
How should this bug be reclassified?
Timothy Hatcher
Oliver, thoughts?
Oliver Hunt
Yeah this is a known bug with eval
Gavin Barraclough
We should resolved this by implementing ES Harmony block scoped const.
*** This bug has been marked as a duplicate of bug 31813 ***