diff --git a/boa_parser/src/parser/expression/primary/object_initializer/mod.rs b/boa_parser/src/parser/expression/primary/object_initializer/mod.rs index ef63c74f93..a717e364e0 100644 --- a/boa_parser/src/parser/expression/primary/object_initializer/mod.rs +++ b/boa_parser/src/parser/expression/primary/object_initializer/mod.rs @@ -418,6 +418,14 @@ where interner, )?; + // Catch early error for BindingIdentifier. + if body.strict() && contains(¶meters, ContainsSymbol::EvalOrArguments) { + return Err(Error::lex(LexError::Syntax( + "unexpected identifier 'eval' or 'arguments' in strict mode".into(), + params_start_position, + ))); + } + // It is a Syntax Error if FunctionBodyContainsUseStrict of FunctionBody is true // and IsSimpleParameterList of PropertySetParameterList is false. // https://tc39.es/ecma262/#sec-method-definitions-static-semantics-early-errors