Open In App

JavaScript SyntaxError – “use strict” not allowed in function with non-simple parameters

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.




<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.




<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
Article Tags :