{"id":3859,"date":"2022-08-20T20:36:26","date_gmt":"2022-08-20T15:06:26","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/"},"modified":"2022-08-20T20:36:26","modified_gmt":"2022-08-20T15:06:26","slug":"solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/","title":{"rendered":"(Solved) What does &#8220;use strict&#8221; do in JavaScript, and what is the reasoning behind it?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-1335881\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"1335881\" data-parentid=\"1335851\" data-score=\"5357\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<h2>Update for ES6 modules<\/h2>\n<p>Inside <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/caniuse.com\/#feat=es6-module\">native ECMAScript modules<\/a> (with <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/docs\/Web\/JavaScript\/Reference\/Statements\/import\"><code>import<\/code><\/a> and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/docs\/Web\/JavaScript\/Reference\/Statements\/export\"><code>export<\/code><\/a> statements) and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Classes\">ES6 classes<\/a>, strict mode is always enabled and cannot be disabled.<\/p>\n<h2>Original answer<\/h2>\n<p>This article about Javascript Strict Mode might interest you: <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/ejohn.org\/blog\/ecmascript-5-strict-mode-json-and-more\/\">John Resig &#8211; ECMAScript 5 Strict Mode, JSON, and More<\/a><\/p>\n<p>To quote some interesting parts:<\/p>\n<blockquote>\n<p>Strict Mode is a new feature in ECMAScript 5 that allows you to place a program, or a function, in a &#8220;strict&#8221; operating context. This strict context prevents certain actions from being taken and throws more exceptions.<\/p>\n<\/blockquote>\n<p>And:<\/p>\n<blockquote>\n<p>Strict mode helps out in a couple ways:<\/p>\n<ul>\n<li>It catches some common coding bloopers, throwing exceptions.<\/li>\n<li>It prevents, or throws errors, when relatively &#8220;unsafe&#8221; actions are taken (such as gaining access to the global object).<\/li>\n<li>It disables features that are confusing or poorly thought out.<\/li>\n<\/ul>\n<\/blockquote>\n<p>Also note you can apply &#8220;strict mode&#8221; to the whole file&#8230; Or you can use it only for a specific function <em>(still quoting from John Resig&#8217;s article)<\/em>:<\/p>\n<pre class=\"lang-js prettyprint-override\"><code>\/\/ Non-strict code...\n\n(function(){\n  \"use strict\";\n\n  \/\/ Define your library strictly...\n})();\n\n\/\/ Non-strict code...\n<\/code><\/pre>\n<p>Which might be helpful if you have to mix old and new code \ud83d\ude09<\/p>\n<p>So, I suppose it&#8217;s a bit like the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/perldoc.perl.org\/strict\"><code>\"use strict\"<\/code><\/a> you can use in Perl <em>(hence the name?)<\/em>: it helps you make fewer errors, by detecting more things that could lead to breakages.<\/p>\n<p>Strict mode is now <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/caniuse.com\/use-strict\">supported by all major browsers<\/a>.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">0<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved What does &#8220;use strict&#8221; do in JavaScript, and what is the reasoning behind it? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Update for ES6 modules Inside native ECMAScript modules (with import and export statements) and ES6 classes, strict mode is always enabled and cannot be disabled. Original answer This article about Javascript Strict Mode might interest you: John Resig &#8211; ECMAScript 5 Strict Mode, JSON, and More To quote some interesting parts: Strict Mode is &#8230; <a title=\"(Solved) What does &#8220;use strict&#8221; do in JavaScript, and what is the reasoning behind it?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/\" aria-label=\"More on (Solved) What does &#8220;use strict&#8221; do in JavaScript, and what is the reasoning behind it?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[333,394,393,395],"class_list":["post-3859","post","type-post","status-publish","format-standard","hentry","category-solved","tag-javascript","tag-jslint","tag-syntax","tag-use-strict"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>(Solved) What does &quot;use strict&quot; do in JavaScript, and what is the reasoning behind it? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"(Solved) What does &quot;use strict&quot; do in JavaScript, and what is the reasoning behind it? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Update for ES6 modules Inside native ECMAScript modules (with import and export statements) and ES6 classes, strict mode is always enabled and cannot be disabled. Original answer This article about Javascript Strict Mode might interest you: John Resig &#8211; ECMAScript 5 Strict Mode, JSON, and More To quote some interesting parts: Strict Mode is ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-20T15:06:26+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"(Solved) What does &#8220;use strict&#8221; do in JavaScript, and what is the reasoning behind it?\",\"datePublished\":\"2022-08-20T15:06:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/\"},\"wordCount\":245,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"javascript\",\"jslint\",\"syntax\",\"use-strict\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/\",\"name\":\"(Solved) What does \\\"use strict\\\" do in JavaScript, and what is the reasoning behind it? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-08-20T15:06:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"(Solved) What does &#8220;use strict&#8221; do in JavaScript, and what is the reasoning behind it?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"(Solved) What does \"use strict\" do in JavaScript, and what is the reasoning behind it? - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/","og_locale":"en_US","og_type":"article","og_title":"(Solved) What does \"use strict\" do in JavaScript, and what is the reasoning behind it? - JassWeb","og_description":"[ad_1] Update for ES6 modules Inside native ECMAScript modules (with import and export statements) and ES6 classes, strict mode is always enabled and cannot be disabled. Original answer This article about Javascript Strict Mode might interest you: John Resig &#8211; ECMAScript 5 Strict Mode, JSON, and More To quote some interesting parts: Strict Mode is ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/","og_site_name":"JassWeb","article_published_time":"2022-08-20T15:06:26+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"(Solved) What does &#8220;use strict&#8221; do in JavaScript, and what is the reasoning behind it?","datePublished":"2022-08-20T15:06:26+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/"},"wordCount":245,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["javascript","jslint","syntax","use-strict"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/","url":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/","name":"(Solved) What does \"use strict\" do in JavaScript, and what is the reasoning behind it? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-08-20T15:06:26+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"(Solved) What does &#8220;use strict&#8221; do in JavaScript, and what is the reasoning behind it?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/3859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=3859"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/3859\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=3859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=3859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=3859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}