# Mode strict

> Variante plus rigoureuse de JavaScript, activée avec la directive "use strict", qui interdit certaines pratiques dangereuses et transforme des erreurs silencieuses en exceptions.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/mode-strict/

JavaScript tolère par défaut des maladresses qu'un autre langage refuserait, comme créer une variable sans la déclarer. Le mode strict ferme cette porte : il rend le langage plus exigeant, au bénéfice de la fiabilité du code.

## Une base pour le JavaScript moderne

Les modules ES et les classes JavaScript activent automatiquement le mode strict, sans qu'il soit nécessaire de l'écrire explicitement. C'est donc la norme dans tout script moderne d'un thème WordPress construit avec des modules, ou dans les fichiers manipulés par un empaqueteur comme webpack lors de la compilation d'un bloc Gutenberg.

## Exemple

```
'use strict';

function calculerTotal() {
  total = 100; // erreur : variable non déclarée
}

calculerTotal(); // ReferenceError en mode strict
```

Sans la directive `'use strict'`, cette même instruction créerait silencieusement une variable globale `total`, source classique de bugs difficiles à repérer.

## Bon à savoir

- La directive se place en tout premier dans un fichier ou une fonction ; ailleurs, elle est ignorée sans avertissement.
- Le mode strict interdit aussi la duplication de noms de paramètres dans une fonction et restreint l'usage du mot-clé `this`, qui vaut `undefined` plutôt que l'objet global dans une fonction appelée seule.
- Un linter comme ESLint peut signaler l'absence de mode strict dans du code qui n'en bénéficie pas automatiquement, par exemple un vieux script chargé sans système de modules.
