This JavaScript exception ‘use strict’ not allowed in function occurs if strict modes ‘use strict’ statement is used at the beginning of a function with default parameters, rest parameters, or destructuring parameters.
Message:
Edge: Cannot apply strict mode on functions
with non-simple parameter list
Firefox:
SyntaxError: "use strict" not allowed in function
with default parameter
SyntaxError: "use strict" not allowed in function
with rest parameter
SyntaxError: "use strict" not allowed in function
with destructuring parameter
Chrome:
SyntaxError: Illegal 'use strict' directive in function
with non-simple parameter list
Error Type:
SyntaxError
Cause of Error: A strict modes “use strict” is written at the start of a function that has the Default, Rest, or Destructing Parameters.
Example 1: In this example, the default parameter is not used, So the error has not occurred.
HTML
<script> function GFG(a, b) { 'use strict'; return a + b; } document.write(GFG(2, 5)); </script> |
Output:
7
Example 2: In this example, the default parameter is used, So the error has occurred.
HTML
<script> function GFG(a=2, b=3) { 'use strict'; return a + b; } document.write(GFG(2, 5)); </script> |
Output(In console):
SyntaxError: Illegal 'use strict' directive in function with non-simple parameter list
