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.
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.
On ne peut pas déclarer des variables qui pourraient être utilisées comme futurs mots de réserve.
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.
L’opérateur delete ne peut pas être utilisé pour supprimer une fonction, une variable ou des arguments.
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.
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.
Essayons d’implémenter le même code en mode strict :
.