Open In App

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

Last Updated : 31 Jul, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads