`Mode strict` en JavaScript

`Mode strict` en JavaScript

Cet article explique le strict mode en JavaScript.

YouTube Video

Mode strict en JavaScript

En JavaScript, le mode strict est une fonctionnalité introduite dans ECMAScript 5 (ES5) pour rendre le code plus sûr et éviter les erreurs. En utilisant le mode strict, certaines syntaxes permissives et fonctionnalités potentiellement risquées sont désactivées, et des vérifications d'erreurs plus strictes sont appliquées. Cela permet aux développeurs d'éviter les comportements inattendus et d'écrire un code plus robuste et performant.

Activer le mode strict

Pour activer le mode strict, ajoutez la directive suivante au début de votre code.

1"use strict";

Cette déclaration peut être appliquée à l'ensemble du script ou au niveau de chaque fonction. Par exemple, si appliqué à l'ensemble du script, vous pouvez l'écrire comme suit :.

1"use strict";
2
3function example() {
4    // Strict mode is applied
5}

Si appliqué par fonction, vous pouvez l'écrire comme suit :.

1function example() {
2    "use strict";
3    // Strict mode is applied only within this function
4}

Le mode strict s'applique à un niveau de portée, il peut donc également être activé à l'intérieur d'une fonction. De plus, puisque le mode strict est activé par défaut dans les modules, il n'est pas nécessaire de le déclarer individuellement à l'intérieur du module.

Caractéristiques principales et différences du mode strict

L'utilisation du mode strict modifie certains comportements par défaut de JavaScript. Voici les principaux exemples :.

Interdiction des variables globales implicites

En JavaScript normal, omettre les déclarations de variables les définit automatiquement comme des variables globales, mais en mode strict, cela entraîne une erreur.

1"use strict";
2
3x = 10;  // Error: x is not defined

Les variables doivent toujours être déclarées en utilisant var, let ou const.

Restriction sur l'utilisation des mots réservés

Les futurs mots-clés JavaScript potentiels (par exemple, implements, interface, package, etc.) ne peuvent pas être utilisés comme noms de variables ou de fonctions en mode strict.

1"use strict";
2
3var package = "strict mode";  // Error: Unexpected strict mode reserved word

Modifications du comportement de this

En mode normal, this à l'intérieur d'une fonction fait référence à l'objet global (par exemple, window dans les navigateurs), mais en mode strict, this est undefined.

1"use strict";
2
3function example() {
4    console.log(this);  // undefined
5}
6
7example();

Cela aide à prévenir les bugs causés par une mauvaise utilisation de this.

Interdiction de supprimer des propriétés non supprimables

En mode normal, tenter de supprimer des propriétés d'objet non supprimables est ignoré sans erreur, mais en mode strict, cela génère une erreur.

1"use strict";
2
3var obj = Object.freeze({name: "John"});
4delete obj.name;  // Error: Cannot delete property 'name'

Interdiction des noms de paramètres dupliqués

En mode normal, déclarer plusieurs fois des paramètres avec le même nom est autorisé, mais en mode strict, cela provoque une erreur.

1"use strict";
2
3function example(a, a) {
4    // Error: Duplicate parameter name not allowed in this context
5}

Interdiction de l'instruction with

L'instruction with peut réduire la lisibilité du code et est interdite en mode strict.

1"use strict";
2
3with (Math) {
4    // Error: Strict mode code may not include a with statement
5}

Avantages du mode strict

Le mode strict améliore la sécurité et l'efficacité du code de plusieurs manières.

Détection des erreurs améliorée

En mode strict, les erreurs ignorées en mode normal sont détectées, permettant aux développeurs de repérer rapidement les bogues potentiels. Par exemple, il empêche la création de variables globales non intentionnelles et l'utilisation abusive de mots réservés.

Performance améliorée

En mode strict, les moteurs JavaScript peuvent optimiser le code de manière plus efficace. En conséquence, la vitesse d'exécution peut s'améliorer.

Sécurité du code renforcée

La gestion de this devient plus stricte, empêchant l'accès à des objets globaux inutiles, ce qui renforce la sécurité du code. De plus, la restriction sur l'utilisation des mots réservés évite les conflits futurs avec les mots-clés.

Compatibilité et considérations

Le mode strict a été introduit avec ECMAScript 5 et n'est pas pris en charge par les navigateurs antérieurs à cette version. Cependant, l'activation du mode strict est simplement ignorée par les navigateurs non pris en charge, sans casser le script. Par conséquent, il peut généralement être utilisé en toute sécurité.

Lors de l'introduction du mode strict dans un grand projet existant, des tests approfondis sont essentiels pour éviter les erreurs inattendues.

Conclusion

Le mode strict de JavaScript est une fonctionnalité extrêmement utile pour améliorer la qualité du code. En particulier, pour les projets de grande envergure ou le développement en équipe, il est recommandé d'utiliser activement le mode strict pour éviter les bugs et erreurs inattendus, ainsi que pour améliorer la lisibilité et la maintenabilité du code.

Comprendre et appliquer correctement le mode strict permet d'éviter les pièges de JavaScript et de développer de manière plus sûre et efficace.

Vous pouvez suivre l'article ci-dessus avec Visual Studio Code sur notre chaîne YouTube. Veuillez également consulter la chaîne YouTube.

YouTube Video