Introduit dans ECMAScript 5, C’est le moyen d’opter pour la variante restreinte de JavaScript. JavaScript est un langage de programmation interprété léger ou compilé en JIT avec des fonctions de première classe.
Le but du littéral « use strict » est d’indiquer que le code doit être exécuté en « mode strict ». Il nous aide à identifier certains bugs cachés. Nous ne pouvons pas utiliser de variables non déclarées en mode strict.
Le mode strict élimine certaines erreurs silencieuses JavaScript en les changeant en erreurs de type throw.
Le mode strict corrige les erreurs qui rendent difficile l’optimisation des moteurs JavaScript : on peut parfois faire en sorte que le code en mode strict s’exécute plus rapidement que le code identique qui ne l’est pas.
Le mode strict interdit certaines syntaxes susceptibles d’être définies dans les futures versions d’ECMAScript.
Il empêche, ou jette des erreurs, lorsque des actions relativement « non sûres » sont entreprises (comme l’accès à l’objet global).
Il désactive les fonctionnalités qui sont confuses ou mal pensées.
Le mode strict facilite l’écriture de JavaScript « sécurisé ».
Tous les navigateurs modernes prennent en charge « use strict », sauf IE 9 et inférieur.
Invocation du mode strict
Un mode strict est applicable à des scripts entiers ou aux fonctions individuelles. Nous ne pouvons pas l’appliquer aux déclarations de bloc enfermées dans des accolades {}. Si nous essayons de l’utiliser à l’intérieur des blocs, il n’aura AUCUN effet.
Application du mode » strict » à l’ensemble du script :
Dans le cas d’exemple d’objet congelé mentionné ci-dessus, l’utilisation du mode strict entraînera une erreur d’exécution si nous essayons de le modifier. Cependant, ce n’est pas le cas sans l’utilisation de l’énoncé strict.