JavaScript - Mode Strict

Bonjour là-bas, futurs magiciens JavaScript ! Aujourd'hui, nous allons plonger dans un sujet qui pourrait sembler un peu intimidant au départ, mais je vous promets, c'est aussi amusant que de trouver une frite supplémentaire au fond de votre sac de plats à emporter. Nous allons parler du Mode Strict de JavaScript !

JavaScript - Strict Mode

Mode Strict en JavaScript

Imaginez que vous apprenez à conduire. Au début, votre instructeur pourrait être indulgent avec vous, laissant passer de petites erreurs. Mais à mesure que vous progressez, il devient plus strict, signalant chaque petit inconvénient. C'est exactement ce que fait le Mode Strict de JavaScript - c'est comme un instructeur de conduite strict pour votre code !

Le Mode Strict est une fonctionnalité introduite dans ECMAScript 5 (ES5) qui vous permet de placer un programme, ou une fonction, dans un contexte d'exécution "strict". Ce contexte strict empêche certaines actions et génère plus d'exceptions.

Activer le Mode Strict

Activer le Mode Strict est aussi simple que de manger une tarte (et qui n'aime pas la tarte ?). Vous avez simplement besoin d'ajouter la chaîne "use strict" au début de votre script ou de votre fonction. Voici à quoi cela ressemble :

"use strict";

// Votre code ici

C'est tout ! Vous avez vient d'activer le Mode Strict pour tout votre script. Mais souvenez-vous, c'est comme enfiler une ceinture de sécurité - cela ne fonctionne que si vous le faites au début !

Pourquoi utiliser le Mode Strict ?

Vous vous demandez peut-être, "Pourquoi voudrais-je rendre JavaScript plus strict ? N'est-ce pas déjà suffisamment compliqué ?" Eh bien, mon jeune padawan, le Mode Strict est en réalité là pour vous aider. Voici quelques raisons pour lesquelles vous pourriez vouloir l'utiliser :

  1. Il attrape des erreurs de codage courantes en lançant des exceptions.
  2. Il empêche, ou génère des erreurs, lorsque des actions relativement "non sécurisées" sont entreprises.
  3. Il désactive des fonctionnalités qui sont confuses ou mal pensées.
  4. Il rend votre code plus sécurisé.
  5. Il vous aide à écrire un code plus "propre".

Regardons un exemple simple :

"use strict";

x = 3.14; // Cela provoquera une erreur

Sans le Mode Strict, JavaScript créerait simplement une variable globale x. Mais avec le Mode Strict, il lance une erreur parce que vous avez oublié de déclarer la variable avec let, const, ou var. C'est comme avoir un ami qui vous rappelle toujours de nouer vos lacets !

Mode Strict dans le Scope Global

Lorsque vous utilisez le Mode Strict dans le scope global (à l'extérieur de toute fonction), il s'applique à tout le script. Voici un exemple :

"use strict";

function doSomething() {
x = 10; // Cela provoquera une erreur
}

doSomething();

Dans ce cas, même si x = 10 est à l'intérieur d'une fonction, cela provoquera toujours une erreur parce que le Mode Strict est activé pour tout le script.

Mode Strict dans le Scope Local

Vous pouvez également utiliser le Mode Strict à l'intérieur d'une fonction spécifique. Cela est utile lorsque vous travaillez sur un grand projet et que vous souhaitez appliquer le Mode Strict uniquement à une partie spécifique de votre code. Voici comment vous pouvez le faire :

function strictFunction() {
"use strict";
// Cette fonction est en mode strict
y = 20; // Cela provoquera une erreur
}

function nonStrictFunction() {
// Cette fonction n'est pas en mode strict
z = 30; // Cela ne provoquera pas d'erreur
}

strictFunction();
nonStrictFunction();

Dans cet exemple, strictFunction() lancera une erreur, mais nonStrictFunction() ne le fera pas. C'est comme avoir un panneau "Pas de chaussures, pas de chemise, pas de service", mais uniquement pour une pièce de votre maison !

Erreurs à ne pas commettre en mode strict

Maintenant, parlons des erreurs courantes que le Mode Strict attrapera. Pensez à ces erreurs comme les "ne pas" du Mode Strict :

Erreur Exemple Explication
Utiliser des variables non déclarées x = 3.14; Les variables doivent être déclarées avec let, const, ou var
Utiliser delete sur des variables delete x; Vous ne pouvez pas supprimer des variables, des fonctions, ou des arguments
Doubler les noms de paramètres function f(a, a, b) {} Aucun nom de paramètre en double n'est autorisé
Utiliser la syntaxe octale var n = 023; La syntaxe octale n'est pas autorisée
Écrire sur une propriété en lecture seule var obj = {}; Object.defineProperty(obj, "x", { value: 0, writable: false }); obj.x = 3.14; Vous ne pouvez pas écrire sur des propriétés en lecture seule
Utiliser l'instruction with with (Math) { x = cos(2); } L'instruction with n'est pas autorisée

Regardons un exemple plus complexe qui montre quelques-unes de ces règles :

"use strict";

function calculateArea(radius, radius) {
// Nom de paramètre en double - cela provoquera une erreur
with (Math) {
// Utilisation de l'instruction with - cela provoquera une erreur
return PI * radius * radius;
}
}

var result = calculateArea(5, 5);
console.log(result);

Ce code a deux problèmes : des noms de paramètres en double et l'utilisation de l'instruction with. Le Mode Strict attrapera les deux erreurs et lancera des exceptions, vous aidant à écrire un code meilleur et plus maintenable.

En conclusion, le Mode Strict est comme avoir un ami super-intelligent et légèrement grincheux qui regarde par-dessus votre épaule pendant que vous codez. Cela peut sembler agaçant au début, mais il est là pour vous aider à devenir un meilleur développeur JavaScript. Alors, adoptez-le, utilisez-le, et voyez votre qualité de code s'envoler !

Souvenez-vous, dans le monde de la programmation, être strict n'est pas une question de méchanceté - c'est une question de clarté, de précision et d'absence d'erreur. Alors, allez-y et codez strictement, mes amis !

Credits: Image by storyset