Bug 28236 - Eval doesn't respect JavaScript's const keyword
Summary: Eval doesn't respect JavaScript's const keyword
Status: RESOLVED DUPLICATE of bug 31813
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-12 15:47 PDT by Joseph Pecoraro
Modified: 2012-03-07 00:32 PST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph Pecoraro 2009-08-12 15:47:31 PDT
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.
Comment 1 Joseph Pecoraro 2009-08-12 15:54:30 PDT
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?
Comment 2 Timothy Hatcher 2009-08-12 17:18:14 PDT
Oliver, thoughts?
Comment 3 Oliver Hunt 2009-08-12 17:20:49 PDT
Yeah this is a known bug with eval
Comment 4 Gavin Barraclough 2012-03-07 00:32:49 PST
We should resolved this by implementing ES Harmony block scoped const.

*** This bug has been marked as a duplicate of bug 31813 ***