what does"use strict" do?

هرچند با به وجود آمدن رقابت میان مرورگرها، امکانات، کارایی و سرعت آن‌ها توسعه‌ی زیادی داشته، با این حال نیاز به بهینه‌سازی بیش از پیش احساس می‌شود. نباید فراموش کرد که برنامه‌نویسی وب در چند سال گذشته تغییرهای زیادی داشته و سایت‌ها بیش از پیش به رابط کاربر و اسکریپت نویسی اهمیت می‌دهند.

استانداردهایی که تا کنون در جریان بوده‌اند تلاش می‌کردند انعطاف را به بیشینه‌ی خود برسانند به این معنی که مرورگرها وظیفه‌ی سنگینی در اصلاح خطاها و یا حدس هدف اصلی توسعه‌دهنده بر عهده داشتند.
این رویکرد از طرفی سبب می‌شد توسعه‌ی وب به فرآیندی هرچه ساده‌تر تبدیل شود و از طرف دیگر باعث می‌گردید تا مرورگرها نتوانند به درستی کدهای نوشته‌شده را بهینه‌سازی کنند.

با تثبیت استاندارد xhtml و html5 گام بزرگی در تغییر این رویکرد برداشته شد. قدم بعدی انجام تغییرات بنیادی در سیستم پردازش و تفسیر جاوااسکریپت است.

قابلیت‌های متعدد و ناسازگار در مرورگرها، قابلیت محدود کنترل‌های امنیتی و کمینه‌ی حساسیت در مورد خطاهای نحوی توسعه‌دهنده از مشکلاتی هستند که توسعه‌ی کدها و بهینه‌سازی کدهای جاوااسکریپت را با مشکل‌های غیرقابل حلی مواجه کرده‌اند.

در استاندارد جدید که به ECMAScript 5 شهرت دارد، تغییرات جدیدی به وقوع پیوسته که مهم‌ترین آن «strict mode» است. تغییر وضعیت اسکریپت به strict mode که برنامه‌نویسی جاوااسکریپت را هر چه بیشتر به محدودیت‌های موجود در زبان‌هایی مانند C نزدیک می‌کند با کد زیر ممکن است.

"use strict";

تنها مرورگری که تا کنون به طور کامل از این قابلیت پشتیبانی می کند،‌ فایرفاکس است.
پیشنهاد می‌کنم این صفحه را مطالعه کنید.

با مطالعه‌ی برگه‌ی یادشده، دید شما نسبت به بهینه‌سازی بازتر خواهد شد و خواهید توانست کدهایی با بیشترین سرعت و بیشترین سازگاری با مرورگرهای آینده بنویسید