| 12.2.1-1gs.js |
---
es5id: 12.2.1-1gs
description: >
Strict Mode - SyntaxError is thrown if a VariableDeclaration
occurs within strict code and its Identifier is eval
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
417 |
- |
| 12.2.1-2-s.js |
---
es5id: 12.2.1-2-s
description: >
eval - a function assigning into 'eval' throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
379 |
- |
| 12.2.1-3-s.js |
---
es5id: 12.2.1-3-s
description: >
eval - a function expr declaring a var named 'eval' throws
SyntaxError in strict mode
flags: [onlyStrict]
--- |
382 |
- |
| 12.2.1-4-s.js |
---
es5id: 12.2.1-4-s
description: >
eval - a function expr assigning into 'eval' throws a SyntaxError
in strict mode
flags: [onlyStrict]
--- |
380 |
- |
| 12.2.1-4gs.js |
---
es5id: 12.2.1-4gs
description: >
Strict Mode - SyntaxError is thrown if a VariableDeclarationNoIn
occurs within strict code and its Identifier is arguments
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
412 |
- |
| 12.2.1-5-s.js |
---
es5id: 12.2.1-5-s
description: >
a Function declaring var named 'eval' does not throw SyntaxError
--- |
282 |
- |
| 12.2.1-6-s.js |
---
es5id: 12.2.1-6-s
description: >
eval - a Function assigning into 'eval' will not throw any error
if contained within strict mode and its body does not start with
strict mode
flags: [onlyStrict]
--- |
401 |
- |
| 12.2.1-7-s.js |
---
es5id: 12.2.1-7-s
description: >
eval - a direct eval declaring a var named 'eval' throws
SyntaxError in strict mode
flags: [onlyStrict]
--- |
362 |
- |
| 12.2.1-8-s.js |
---
es5id: 12.2.1-8-s
description: >
eval - a direct eval assigning into 'eval' throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
356 |
- |
| 12.2.1-9-s.js |
---
es5id: 12.2.1-9-s
description: >
an indirect eval declaring a var named 'eval' does not throw
--- |
281 |
- |
| 12.2.1-10-s.js |
---
es5id: 12.2.1-10-s
description: "Strict Mode: an indirect eval assigning into 'eval' does not throw"
--- |
285 |
- |
| 12.2.1-11.js |
---
es5id: 12.2.1-11
description: arguments as var identifier in eval code is allowed
flags: [noStrict]
--- |
314 |
- |
| 12.2.1-16-s.js |
---
es5id: 12.2.1-16-s
description: >
A Function constructor (called as a function) declaring a var
named 'arguments' does not throw a SyntaxError
--- |
336 |
- |
| 12.2.1-17-s.js |
---
es5id: 12.2.1-17-s
description: >
A Function constructor (called as a function) assigning into
'arguments' will not throw any error if contained within strict
mode and its body does not start with strict mode
flags: [onlyStrict]
--- |
440 |
- |
| 12.2.1-18-s.js |
---
es5id: 12.2.1-18-s
description: >
A direct eval declaring a var named 'arguments' throws SyntaxError
in strict mode
flags: [onlyStrict]
--- |
366 |
- |
| 12.2.1-19-s.js |
---
es5id: 12.2.1-19-s
description: >
A direct eval assigning into 'arguments' throws SyntaxError in
strict mode
flags: [onlyStrict]
--- |
360 |
- |
| 12.2.1-20-s.js |
---
es5id: 12.2.1-20-s
description: >
Strict Mode: an indirect eval declaring a var named 'arguments'
does not throw
--- |
309 |
- |
| 12.2.1-21-s.js |
---
es5id: 12.2.1-21-s
description: >
Strict Mode: an indirect eval assigning into 'arguments' does not
throw
--- |
303 |
- |
| 12.2.1-22-s.js |
---
es5id: 12.2.1-22-s
description: >
arguments as global var identifier throws SyntaxError in strict
mode
--- |
384 |
- |
| arguments-fn-non-strict.js |
---
es5id: 12.2.1-12
esid: sec-variable-statement
description: >
arguments as local var identifier is allowed within a function declaration
flags: [noStrict]
--- |
333 |
- |
| arguments-fn-strict-list-final-init.js |
---
es5id: 12.2.1-28-s
esid: sec-variable-statement
description: >
arguments as local var identifier assigned to throws SyntaxError
in strict mode within a function declaration
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
450 |
- |
| arguments-fn-strict-list-final.js |
---
es5id: 12.2.1-30-s
esid: sec-variable-statement
description: >
arguments as local var identifier throws SyntaxError in strict mode within a
function declaration
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
434 |
- |
| arguments-fn-strict-list-first-init.js |
---
esid: sec-variable-statement
description: >
arguments as local var identifier throws SyntaxError in strict mode within a
function declaration
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
415 |
- |
| arguments-fn-strict-list-first.js |
---
es5id: 12.2.1-25-s
esid: sec-variable-statement
description: >
arguments as local var identifier throws SyntaxError in strict mode within a
function declaration
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
429 |
- |
| arguments-fn-strict-list-middle-init.js |
---
esid: sec-variable-statement
description: >
arguments as local var identifier throws SyntaxError in strict mode within a
function declaration
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
418 |
- |
| arguments-fn-strict-list-middle.js |
---
es5id: 12.2.1-33-s
esid: sec-variable-statement
description: >
arguments as local var identifier throws SyntaxError in strict mode within a
function declaration
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
432 |
- |
| arguments-fn-strict-list-repeated.js |
---
es5id: 12.2.1-32-s
esid: sec-variable-statement
description: >
arguments as local var identifier defined twice and assigned once
throws SyntaxError in strict mode within a function declaration
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
478 |
- |
| arguments-fn-strict-single-init.js |
---
es5id: 12.2.1-23-s
esid: sec-variable-statement
description: >
arguments as local var identifier assigned to throws SyntaxError
in strict mode within a function declaration
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
447 |
- |
| arguments-fn-strict-single.js |
---
es5id: 12.2.1-12-s
esid: sec-variable-statement
description: >
arguments as local var identifier throws SyntaxError in strict mode within a
function declaration
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
426 |
- |
| arguments-non-strict.js |
---
es5id: 12.2.1-12
esid: sec-variable-statement
description: arguments as local var identifier is allowed
flags: [noStrict]
--- |
286 |
- |
| arguments-strict-list-final-init.js |
---
es5id: 12.2.1-28-s
esid: sec-variable-statement
description: >
arguments as local var identifier assigned to throws SyntaxError
in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
407 |
- |
| arguments-strict-list-final.js |
---
es5id: 12.2.1-30-s
esid: sec-variable-statement
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
385 |
- |
| arguments-strict-list-first-init.js |
---
esid: sec-variable-statement
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
360 |
- |
| arguments-strict-list-first.js |
---
es5id: 12.2.1-25-s
esid: sec-variable-statement
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
380 |
- |
| arguments-strict-list-middle-init.js |
---
esid: sec-variable-statement
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
363 |
- |
| arguments-strict-list-middle.js |
---
es5id: 12.2.1-33-s
esid: sec-variable-statement
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
383 |
- |
| arguments-strict-list-repeated.js |
---
es5id: 12.2.1-32-s
esid: sec-variable-statement
description: >
arguments as local var identifier defined twice and assigned once
throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
435 |
- |
| arguments-strict-single-init.js |
---
es5id: 12.2.1-23-s
esid: sec-variable-statement
description: >
arguments as local var identifier assigned to throws SyntaxError
in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
404 |
- |
| arguments-strict-single.js |
---
es5id: 12.2.1-12-s
esid: sec-variable-statement
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
377 |
- |
| binding-resolution.js |
---
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
description: Binding is resolve prior to evaluation of Initializer
info: |
VariableDeclaration : BindingIdentifier Initializer
1. Let bindingId be StringValue of BindingIdentifier.
2. Let lhs be ? ResolveBinding(bindingId).
3. Let rhs be the result of evaluating Initializer.
[...]
flags: [noStrict]
--- |
705 |
- |
| cptn-value.js |
---
esid: sec-variable-statement-runtime-semantics-evaluation
es6id: 13.3.2.4
description: Returns an empty completion
info: |
VariableStatement : var VariableDeclarationList ;
1. Let next be the result of evaluating VariableDeclarationList.
2. ReturnIfAbrupt(next).
3. Return NormalCompletion(empty).
--- |
1171 |
- |
| dstr |
|
|
- |
| eval-non-strict.js |
---
esid: sec-variable-statement
description: arguments as local var identifier is allowed
flags: [noStrict]
--- |
258 |
- |
| eval-strict-list-final-init.js |
---
esid: sec-variable-statement
description: eval as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
350 |
- |
| eval-strict-list-final.js |
---
es5id: 12.2.1-26-s
esid: sec-variable-statement
description: eval as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
370 |
- |
| eval-strict-list-first-init.js |
---
es5id: 12.2.1-27-s
esid: sec-variable-statement
description: >
eval as local var identifier assigned to throws SyntaxError in
strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
397 |
- |
| eval-strict-list-first.js |
---
es5id: 12.2.1-29-s
esid: sec-variable-statement
description: eval as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
375 |
- |
| eval-strict-list-middle-init.js |
---
esid: sec-variable-statement
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
358 |
- |
| eval-strict-list-middle.js |
---
esid: sec-variable-statement
description: arguments as local var identifier throws SyntaxError in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
353 |
- |
| eval-strict-list-repeated.js |
---
es5id: 12.2.1-31-s
esid: sec-variable-statement
description: >
eval as local var identifier defined twice throws SyntaxError in
strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
397 |
- |
| eval-strict-single-init.js |
---
es5id: 12.2.1-24-s
esid: sec-variable-statement
description: >
eval as local var identifier assigned to throws SyntaxError in
strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
394 |
- |
| eval-strict-single.js |
---
es5id: 12.2.1-1-s
esid: sec-variable-statement
description: >
eval - a function declaring a var named 'eval' throws SyntaxError
in strict mode
flags: [onlyStrict]
negative:
phase: parse
type: SyntaxError
--- |
394 |
- |
| fn-name-arrow.js |
---
es6id: 13.3.2.4
description: Assignment of function `name` attribute (ArrowFunction)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
--- |
747 |
- |
| fn-name-class.js |
---
es6id: 13.3.2.4
description: Assignment of function `name` attribute (ClassExpression)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
features: [class]
--- |
907 |
- |
| fn-name-cover.js |
---
es6id: 13.3.2.4
description: >
Assignment of function `name` attribute (CoverParenthesizedExpression)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
--- |
843 |
- |
| fn-name-fn.js |
---
es6id: 13.3.2.4
description: Assignment of function `name` attribute (FunctionExpression)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
--- |
804 |
- |
| fn-name-gen.js |
---
es6id: 13.3.2.4
description: Assignment of function `name` attribute (GeneratorExpression)
info: |
VariableDeclaration : BindingIdentifier Initializer
[...]
7. If IsAnonymousFunctionDefinition(Initializer) is true, then
a. Let hasNameProperty be HasOwnProperty(value, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(value,
bindingId).
includes: [propertyHelper.js]
features: [generators]
--- |
836 |
- |
| id-arguments-strict.js |
---
es5id: 11.13.1-4-28-s
description: >
Strict Mode - SyntaxError is thrown if the identifier 'arguments' appears
as the LeftHandSideExpression of simple assignment(=) under strict mode
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
434 |
- |
| id-eval-strict.js |
---
es5id: 11.13.1-4-28-s
description: >
Strict Mode - SyntaxError is thrown if the identifier 'eval' appears as the
LeftHandSideExpression of simple assignment(=) under strict mode
negative:
phase: parse
type: SyntaxError
flags: [onlyStrict]
--- |
424 |
- |
| S12.2_A1.js |
---
info: |
Variables are created when the program is entered. Variables are initialised to "undefined"
when created. A variable with an Initialiser is assigned the value of its AssignmentExpression when the
VariableStatement is executed, not when the variable is created
es5id: 12.2_A1
description: Creating variables after entering the execution scope
--- |
1982 |
- |
| S12.2_A2.js |
---
info: |
Variables are defined with global scope (that is, they are created as
members of the global object, as described in 10.1.3) using property
attributes { DontDelete}
es5id: 12.2_A2
description: >
Checking if deleting global variables that have the attributes
{DontDelete} fails
flags: [noStrict]
--- |
1702 |
- |
| S12.2_A3.js |
---
info: FunctionDeclaration produces a new scope
es5id: 12.2_A3
description: Using Global scope and Function scope together
--- |
1672 |
- |
| S12.2_A4.js |
---
info: Unicode characters in variable Identifier are allowed
es5id: 12.2_A4
description: Create and use unicode characters in variable Identifier
--- |
887 |
- |
| S12.2_A5.js |
---
info: |
VariableDeclaration within Eval statement is initialized as the program
reaches the eval statement
es5id: 12.2_A5
description: Executing eval("var x")
flags: [noStrict]
--- |
908 |
- |
| S12.2_A6_T1.js |
---
info: VariableDeclaration within "try-catch" statement is allowed
es5id: 12.2_A6_T1
description: Declaring variable within "try-catch" statement
--- |
954 |
- |
| S12.2_A6_T2.js |
---
info: VariableDeclaration within "try-catch" statement is allowed
es5id: 12.2_A6_T2
description: Declaring variables within "try-catch" statement
--- |
956 |
- |
| S12.2_A7.js |
---
info: VariableDeclaration within "for" statement is allowed
es5id: 12.2_A7
description: Declaring variable within "for" statement
--- |
616 |
- |
| S12.2_A8_T1.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T1
description: Checking if execution of "var x += 1" fails
negative:
phase: parse
type: SyntaxError
--- |
541 |
- |
| S12.2_A8_T2.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T2
description: Checking if execution of "var x | true" fails
negative:
phase: parse
type: SyntaxError
--- |
545 |
- |
| S12.2_A8_T3.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T3
description: Checking if execution of "var x && 1" fails
negative:
phase: parse
type: SyntaxError
--- |
541 |
- |
| S12.2_A8_T4.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T4
description: Checking if execution of "var x++" fails
negative:
phase: parse
type: SyntaxError
--- |
535 |
- |
| S12.2_A8_T5.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T5
description: Checking if execution of "var --x" fails
negative:
phase: parse
type: SyntaxError
--- |
535 |
- |
| S12.2_A8_T6.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T6
description: Checking if execution of "var x*1" fails
negative:
phase: parse
type: SyntaxError
--- |
535 |
- |
| S12.2_A8_T7.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T7
description: Checking if execution of "var x>>1" fails
negative:
phase: parse
type: SyntaxError
--- |
537 |
- |
| S12.2_A8_T8.js |
---
info: Only AssignmentExpression is admitted when variable is initialized
es5id: 12.2_A8_T8
description: Checking if execution of "var x in __arr" fails
negative:
phase: parse
type: SyntaxError
--- |
562 |
- |
| S12.2_A9.js |
---
info: When using property attributes, {DontEnum} is not used
es5id: 12.2_A9
description: >
Enumerating property attributes of "this" and then searching for
the declared variable
--- |
728 |
- |
| S12.2_A10.js |
---
info: "\"var\" statement within \"for\" statement is allowed"
es5id: 12.2_A10
description: Declaring variable within a "for" IterationStatement
--- |
605 |
- |
| S12.2_A11.js |
---
info: When using property attributes, {ReadOnly} is not used
es5id: 12.2_A11
description: Changing variable value using property attributes
--- |
1019 |
- |
| S12.2_A12.js |
---
info: VariableDeclaration within "do-while" loop is allowed
es5id: 12.2_A12
description: Declaring variable within "do-while" statement
--- |
600 |
- |
| S14_A1.js |
---
info: FunctionExpression must be localed in a reacheable fragment of the program
es5id: 14_A1
description: Declaring a function within an "if" Expression
--- |
1031 |
- |
| static-init-await-binding-invalid.js |
---
esid: sec-class-definitions-static-semantics-early-errors
description: BindingIdentifier may not be `await` within class static blocks
info: |
BindingIdentifier : Identifier
[...]
- It is a Syntax Error if the code matched by this production is nested,
directly or indirectly (but not crossing function or static initialization
block boundaries), within a ClassStaticBlock and the StringValue of
Identifier is "await".
negative:
phase: parse
type: SyntaxError
features: [class-static-block]
--- |
726 |
- |
| static-init-await-binding-valid.js |
---
esid: sec-class-definitions-static-semantics-early-errors
description: The `await` keyword is interpreted as an identifier within arrow function bodies
info: |
ClassStaticBlockBody : ClassStaticBlockStatementList
[...]
- It is a Syntax Error if ContainsAwait of ClassStaticBlockStatementList is true.
features: [class-static-block]
--- |
545 |
- |