Qu’est-ce que le mode strict en JavaScript ?

Comprendre le mode strict, avec des exemples

Technical Geek
6 avr, 2020 – 4 min de lecture

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.

.

l’instruction use strict a permis d’éliminer certaines erreurs silencieuses JavaScript en les transformant en erreurs de type throw. C’est assez utile lorsque nous déboguons toute application web.

Mode strict pour les scripts

  • utilisation de l’instruction ‘strict’
.

  • sans ‘strict’.

.

Mode strict pour les fonctions Javascript

« use strict » peut être utilisé à l’intérieur des fonctions également.

Dans l’exemple ci-dessus, nous avons défini deux variables sans les déclarer : x et y. Puisque nous avons ajouté l’instruction « use strict » à l’intérieur de la fonction, seul y = 22 lancera l’exception. « x = 11 » ne lancera aucune exception.

Cela signifie que dans le cas ci-dessus, la portée de « use strict » est liée à la fonction uniquement et non à l’ensemble du fichier de script.

Conclusion

  • Le mode strict facilite l’écriture de JavaScript « sécurisé ». Il transforme les « mauvaises syntaxes » précédemment acceptées en véritables erreurs. Par exemple, dans le JavaScript ordinaire, une erreur de frappe du nom de la variable crée la nouvelle variable globale. En mode strict, elle entraîne une erreur, rendant impossible la création accidentelle de la variable globale.
  • En JavaScript standard, le développeur ne recevra aucune réaction d’erreur en assignant des valeurs aux propriétés non inscriptibles. En mode strict, toute affectation à la propriété non inscriptible, à une propriété getter-only, à une propriété inexistante, à la variable inexistante ou à l’objet inexistant, lancera une erreur.
  • Les mots-clés réservés aux futures versions de JavaScript ne peuvent pas être utilisés comme noms de variables en mode strict. Ces mots-clés sont les suivants : implements, interface, let, package, private, protected, public, static, yield.
  • Dans le cas où nous utilisons la console du navigateur pour tester une fonctionnalité, par défaut le mode strict n’est pas appliqué. Nous devons ajouter manuellement en utilisant ‘use strict’.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *