JavaScript "use strict"

Dans ce didacticiel, vous découvrirez la syntaxe JavaScript 'use strict' à l'aide d'exemples.

'use strict';indique que le code JavaScript doit être exécuté en « mode strict ». Cela facilite l'écriture d'un bon code JavaScript sécurisé. Par exemple,

 myVariable = 9;

Ici, myVariable est créé sans déclarer. Cela fonctionne comme une variable globale dans JavaScript. Cependant, si vous l'utilisez en mode strict, le programme lancera une erreur. Par exemple,

 'use strict'; // Error myVariable = 9;

Le code ci-dessus renvoie une erreur car myVariable n'est pas déclarée. En mode strict, vous ne pouvez pas utiliser la variable sans les déclarer.

Pour indiquer que ce programme est en mode strict, nous avons utilisé

 'use strict';

en haut du programme.

Vous pouvez déclarer le mode strict en ajoutant 'use strict';ou "use strict";au début d'un programme.

Lorsque vous déclarez le mode strict au début d'un programme, celui-ci aura une portée globale et tout le code du programme s'exécutera en mode strict.

Mode strict en variable

En mode strict, l'utilisation d'une variable sans la déclarer génère une erreur.

Remarque : vous devez déclarer le mode strict au début du programme. Si vous déclarez le mode strict sous un certain code, cela ne fonctionnera pas.

Par exemple,

 console.log("some code"); // 'use strict' is ignored // must be at the top "use strict"; x = 21; // does not throw an error

Mode strict en fonction

Vous pouvez également utiliser le mode strict dans une fonction. Par exemple,

 myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();

Si vous utilisez à l' 'use strict';intérieur d'une fonction, le code à l'intérieur de la fonction sera en mode strict.

Dans le programme ci-dessus, 'use strict';est utilisé à l'intérieur de la hello()fonction. Par conséquent, le mode strict n'est applicable qu'à l'intérieur de la fonction.

Comme vous pouvez le voir, au début du programme, myVariableest utilisé sans déclarer.

Si vous déclarez 'use strict';en haut du programme, vous ne pouvez pas utiliser une variable sans la déclarer également dans la fonction. Par exemple,

 // applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();

Remarque : le mode strict ne s'applique pas aux instructions de bloc avec des ()accolades.

Choses non autorisées en mode strict

1. La variable non déclarée n'est pas autorisée.

 'use strict'; a = 'hello'; // throws an error

2. Les objets non déclarés ne sont pas autorisés.

 'use strict'; person = (name: 'Carla', age: 25); // throws an error

3. La suppression d'un objet n'est pas autorisée.

 'use strict'; let person = (name: 'Carla'); delete person; // throws an error

4. La duplication d'un nom de paramètre n'est pas autorisée.

 "use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();

5. L'attribution à une propriété non accessible en écriture n'est pas autorisée.

 'use strict'; let obj1 = (); Object.defineProperty(obj1, 'x', ( value: 42, writable: false )); // assignment to a non-writable property obj1.x = 9; // throws an error

6. L'attribution à une propriété en lecture seule n'est pas autorisée.

 'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error

7. L'attribution à une nouvelle propriété sur un objet non extensible n'est pas autorisée.

 'use strict'; let obj = (); Object.preventExtensions(obj); // Assignment to a new property on a non-extensible object obj.newValue = 'new value'; // throws an error

8. La syntaxe octale n'est pas autorisée.

 'use strict'; let a = 010; // throws an error

9. Les arguments de nom de variable et eval ne sont pas autorisés.

 'use strict'; let arguments = 'hello'; // throws an error let eval = 44;

10. Vous ne pouvez pas également utiliser ces mots-clés réservés en mode strict.

implements interface let package private protected public static yield

Avantages du mode strict

L'utilisation du mode strict:

  • aide à écrire un code plus propre
  • change les erreurs silencieuses précédemment acceptées (mauvaise syntaxe) en erreurs réelles et envoie un message d'erreur
  • facilite l'écriture de JavaScript «sécurisé»

Articles intéressants...