DEV Community

codeToBug
codeToBug

Posted on • Originally published at codetobug.dev

What is Strict Mode? Or, "The Day JavaScript Morphed Into My Mother"

Hey, you remember your mother's "Strict Mode"? Those fond memories of teenage years when she transformed into an unyielding warden, barring you from staying out past midnight or using the family PC for anything other than "educational purposes?" Oh, the joy.

Well, Strict Mode is an ES5 feature, when JavaScript decide to pay tribute to your Mum, adopting a "Strict Mode" of its own. Quite the trendsetter, isn't it?

"use strict";
var lateNight = "fun";
Enter fullscreen mode Exit fullscreen mode

Try pulling that little line of code and you're instantly teleported back to your teen years, complete with a virtual mom wagging her finger at you.

Turning On Mom Mode, Err... Strict Mode

Sliding into JavaScript's Strict Mode is as simple as entering your teenage years - just add "use strict"; at the beginning of your script. Yes, those were the magical words that turned your cool, lenient mom into a strict, no-nonsense matriarch.

"use strict";
let party = "no";
Enter fullscreen mode Exit fullscreen mode

The Joy of Conforming: Benefits of Mom, I Mean... Strict Mode

Strict Mode's benefits are like those brussels sprouts mom forced you to eat. You hated them but they were good for you, right?

Prevents Evil Twins: Just like mom would never let you hang out with your evil doppelgänger, JavaScript refuses to let you declare identical variables. I mean, come on, who needs two 'Bobs' anyway?

"use strict";
let bob = "happy";
let bob = "sad"; // Error: Bob already exists!
Enter fullscreen mode Exit fullscreen mode

Blocks Naughty Behavior: Just like mom's grounding kept you from sneaking out at night, Strict Mode keeps you from using undeclared variables. Ah, the joys of discipline.

"use strict";
sneakyVariable = "I'm out"; // Error: Declare your variables, young person!
Enter fullscreen mode Exit fullscreen mode

Mutes Silent Errors: Silent errors are like mom's cold shoulder - no noise, but you knew you were in for it. Strict Mode turns these silent errors into loud, screaming tantrums.

"use strict";
delete Object.prototype; // Error: What were you thinking?!
Enter fullscreen mode Exit fullscreen mode

Well, folks, that's JavaScript's Strict Mode for you. A relentless taskmaster, sure, but one that's got your best interests at heart. Just like dear ol' mom!

Top comments (0)