Regardons les différents scénarios, où ce simple changement peut vous aider.

Une variable ne sera pas ajoutée à l’objet global/fenêtre si elle n’est pas déclarée.

Par défaut, si une variable non déclarée est définie, elle est ajoutée à l’objet global/de fenêtre. Cela peut créer une erreur et peut même être difficile à trouver.

.

Une variable non déclarée est ajoutée à l’objet global

Pour éviter de tels scénarios, nous pouvons déclarer l’utilisation stricte. Le mode strict ne permet pas l’utilisation de variables qui n’ont pas été déclarées.

Les variables non déclarées ne sont pas ajoutées à l’objet global

On ne peut pas déclarer des variables qui pourraient être utilisées comme futurs mots de réserve.

.

Reserve Word Exception

Comme nous pouvons le voir dans l’exemple ci-dessus, à gauche, nous avons pu déclarer une variable et la nommer let qui est un mot-clé réservé ES6. Techniquement, cela devrait lancer une exception, mais est ignoré par le compilateur.

De plus, nous pouvons voir sur le côté droit, nous avons obtenu une erreur de syntaxe en passant à un contexte d’opération strict. Nous devrions opter pour le mode strict, pour éviter d’utiliser un mot-clé réservé pour les noms de variables.

Il empêche de supprimer une fonction, des variables et des arguments de fonction:

L’opérateur delete en lui-même est utilisé pour supprimer une propriété sur un objet.

.

Suppression d’une propriété syntaxe valide

L’opérateur delete ne peut pas être utilisé pour supprimer une fonction, une variable ou des arguments.

.

delete ne peut que supprimer des propriétés

En mode strict, il lancera une exception d’erreur de type. Cela se produit parce que nous essayons de supprimer une propriété mais la valeur elle-même.

.

Erreur de type Exception

L’utilisation de eval se restreint :

En JS, la fonction eval est utilisée pour exécuter des expressions JavaScript dans un format de chaîne de caractères.

.

utilisant eval

Essayons d’implémenter le même code en mode strict :

.

l’expression eval n’est pas exécutée

.

Laisser un commentaire

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