JavaScript Tutorial

JS HomeJS EditorsJS How toJS Basic ProgramJS ConsoleJS VariableJS constJS Data TypesJS StringJS Type CastingJS KeywordsJS OperatorsJS Use StrictJS Escape SequencesJS Comments

JS Control Statements

JS ifJS if elseJS else ifJS BreakJS ContinueJS Switch Case

JS Looping

JS Loop ForJS Loop For InJS Loop WhileJS Loop Do While

JS Array

JS ArrayJS Array One DimensionalJS Array Multi DimensionalJS Array Associative

JS Functions

JS FunctionJS Function SelfJS Function call()JS Function apply()JS Call By ValueJS Call By ReferenceJS Function Closures

JS Scope

JS Scope GlobalJS Scope LocalJS Let

JS File Handling

JS File Handling

JS Error Handling

JS try catchJS throwJS finally

JS Select Particulars

JS getElementByID()JS getElementsByClassName()JS getElementsByTagName()JS getElementsByName()JS querySelector()JS querySelectorAll()

JS Popup

JS alert()JS confirm()JS prompt()

JS Events

JS EventsJS Media EventsJS Mouse EventsJS Keyboard EventsJS Form EventsJS Drag EventsJS Clipboard EventsJS Print EventsJS Animation EventsJS Transition EventsJS Server-Sent EventsJS Touch EventsJS Object Events

JS Methods

JS Array MethodsJS String MethodsJS Math MethodsJS Number MethodsJS Date MethodsJS Element MethodsJS Window MethodsJS Node MethodsJS Document MethodsJS Console MethodsJS Timing MethodsJS Navigator MethodsJS Miscellaneous Methods

JS Properties

JS Array PropertiesJS String PropertiesJS Number PropertiesJS MouseEvent PropertiesJS KeyboardEvent PropertiesJS AnimationEvent PropertiesJS TransitionEvent PropertiesJS Element PropertiesJS Window PropertiesJS Node PropertiesJS Document PropertiesJS Navigator PropertiesJS HashChangeEvent PropertiesJS Miscellaneous Properties

JS Regular Expressions

JS Regexp

JS Cookies

JS Cookies

JS Interview Programs

JS Common ProgramsJS Array ProgramsJS Converter ProgramsJS Star Patterns ProgramJS Number Patterns ProgramJS Alphabet Patterns Program

JS Reference

LEARN JSONLEARN AJAXJS KeycodeMIME TypesASCII Table

JavaScript Use Strict

Last Updated:

JavaScript Use Strict

"use strict" is a string that makes your program or function follow a strict operating context.

It means, the errors which were being ignored by the compiler, will now throw exception messages.

The purpose of "use strict" is to indicate that the code should be executed in "strict mode".

Advantage of using use strict

The following are the three main advantage of using use strict

  • Prohibits some syntax likely to be defined in future versions of ECMAScript.
  • Fixes mistakes that make it difficult for JavaScript engines to perform optimizations.
  • Eliminates some JavaScript silent errors by changing them to throw errors.

Browser Support

Devicedesktopmobile
Browsergoogle chromesafarifirefoxinternet Exploreredgeoperagoogle chromesafarifirefoxedgeoperaandroid webviewsamsung internet
use strictYesYesYesYesYesYesYesYesYesYesYesYesYesYes

Initialize Undeclared Variable

In strict mode, you cannot initialize a value to undeclared variables.

Example

HTML Online Editor
<!DOCTYPE html> <html> <body> <script> "use strict"; x = 1; document.write("x = "+x); </script> </body> </html>

Delete Variable

The strict mode will throw an error when you are trying to delete a variable instead of deleting a property of an object.

Example

HTML Online Editor
<!DOCTYPE html> <html> <body> <script> "use strict"; var x = 1; delete x; document.write(x); </script> </body> </html>

Duplicate parameter

Duplicating parameter name is not allowed in strict mode.

Example

HTML Online Editor
<!DOCTYPE html> <html> <body> <script> "use strict"; function myFunction(x, x){ document.write("Parameter 1 = "+ x); document.write("<br>Parameter 2 = "+ x); } myFunction(1, 2); </script> </body> </html>

Octal literals

Octal literals are not allowed in strict mode.

Example

HTML Online Editor
<!DOCTYPE html> <html> <body> <script> "use strict"; var x = 010; document.write(x); </script> </body> </html>

Octal Escape Sequences

Octal escape sequences are not allowed in strict mode.

Example

HTML Online Editor
<!DOCTYPE html> <html> <body> <script> "use strict"; var x = "\010"; document.write(x); </script> </body> </html>

Read Only Object

Read only object properties are not allowed to change its value in strict mode.

Example

HTML Online Editor
<!DOCTYPE html> <html> <body> <script> "use strict"; var bike = { company: "honda", model: "CBR 1000RR", color: "Red" }; Object.defineProperty(bike, "company", {writable: false}); bike.color="Black"; document.write(bike.color); bike.company = "Harley Davidson"; document.write(bike.company); </script> </body> </html>

eval() Function

eval() is not allowed to create variables in the scope under Strict Mode.

Example

HTML Online Editor
<!DOCTYPE html> <html> <body> <script> "use strict"; eval("var x = 2"); document.write(x); </script> </body> </html>

Share this Page

Meet the Author