mirror of
https://github.com/RGBCube/serenity
synced 2025-07-10 04:27:35 +00:00
![]() - A regular function can have duplicate parameters except in strict mode or if its parameter list is not "simple" (has a default or rest parameter) - An arrow function can never have duplicate parameters Compared to other engines I opted for more useful syntax error messages than a generic "duplicate parameter name not allowed in this context": "use strict"; function test(foo, foo) {} ^ Uncaught exception: [SyntaxError]: Duplicate parameter 'foo' not allowed in strict mode (line: 1, column: 34) function test(foo, foo = 1) {} ^ Uncaught exception: [SyntaxError]: Duplicate parameter 'foo' not allowed in function with default parameter (line: 1, column: 20) function test(foo, ...foo) {} ^ Uncaught exception: [SyntaxError]: Duplicate parameter 'foo' not allowed in function with rest parameter (line: 1, column: 23) (foo, foo) => {} ^ Uncaught exception: [SyntaxError]: Duplicate parameter 'foo' not allowed in arrow function (line: 1, column: 7) |
||
---|---|---|
.. | ||
arrow-functions.js | ||
constructor-basic.js | ||
function-default-parameters.js | ||
function-duplicate-parameters.js | ||
function-hoisting.js | ||
function-length.js | ||
function-missing-arg.js | ||
function-name.js | ||
function-rest-params.js | ||
function-spread.js | ||
function-strict-mode.js | ||
function-this-in-arguments.js | ||
function-TypeError.js |