chakra-core/ChakraCore

Hoisting a var declaration past a lexical declaration of the same name should be a SyntaxError

Open

#357 aperta il 19 feb 2016

Vedi su GitHub
 (4 commenti) (0 reazioni) (0 assegnatari)JavaScript (1374 fork)batch import
BugSeverity: 2help wanted

Metriche repository

Star
 (9000 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Second bullet point of block static semantics and similarly for function body static semantics.

E.g.

let x;
{
    var x; // error (already works)
    let y;
    var y; // should be an error (doesn't work)
    {
        var y; // should also be an error (doesn't work)
    }
}

This applies for var declarations hoisting past all lexical declarations, i.e. let, const, class, function (and generators and async functions).

Guida contributor