This content originally appeared on DEV Community and was authored by nexgismo
Want to write JavaScript that’s easier to debug, less error-prone, and more secure?
Strict Mode might be the single line that changes how you write JS forever.
What Is Strict Mode in JavaScript?
Strict mode is a way to opt into a restricted variant of JavaScript introduced in ECMAScript 5. It helps eliminate silent bugs and forces better coding discipline.
You enable it by placing:
'use strict';
at the top of a script or function.
Why Use Strict Mode?
Feature | Without Strict Mode | With Strict Mode |
---|---|---|
Undeclared variables | Allowed | ![]() |
this in functions |
Refers to window
|
undefined |
Duplicate parameters | Allowed | ![]() |
with statement |
Allowed | ![]() |
Read-only assignments | Ignored | ![]() |
Strict mode can:
- Prevent accidental globals
- Make
this
more predictable - Ban confusing or insecure features
How to Enable Strict Mode
Globally
'use strict';
let points = 100;
Locally (function scope)
function calculate() {
'use strict';
let result = 50;
}
ES6 modules and class bodies are in strict mode by default.
Real-World Example
Without strict mode:
function addTax(price) {
tax = price * 0.18; // Creates a global variable!
return tax;
}
With strict mode:
function addTax(price) {
'use strict';
let tax = price * 0.18;
return tax;
}
Now you’ll catch undeclared variables before they cause damage.
Automatic Strict Mode in ES6
Strict mode is automatically applied in:
- ES6 modules (
import
/export
) - Class definitions
No need to manually declare it in those places.
How It Helps Security
Strict mode blocks many insecure or legacy features:
- Global scope pollution
- Unsafe assignments
- Silent failure during reassignment
- Accidental overwriting of built-ins
When Should You Use It?
Situation | Use Strict Mode? |
---|---|
New apps | ![]() |
Large teams | ![]() |
Legacy code | ![]() |
ES6 modules | ![]() |
Conclusion
Strict Mode may seem optional, but it’s a best practice that improves code reliability, security, and maintainability.
It’s just one line — but it can save hours of debugging and prevent painful production bugs.
Full Visual Blog + FAQ + PDF Download:
Read on NexGismo.com
Have you had a bug that strict mode could’ve caught early? Share your story below
#javascript #webdevelopment #cleanCode #codingtips #softwareengineering
This content originally appeared on DEV Community and was authored by nexgismo