English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base JavaScript

Objet JavaScript

Fonction JavaScript

DOM HTML JS

BOM du navigateur JS

Tutoriel de base AJAX

Manuel de référence JavaScript

Mode strict (use strict) JavaScript

ECMAScript 5Le mode strict de JavaScript introduit dansOption d'adhésion L'une des variantes limitées du JavaScript.

Le mode strict n'est pas seulement un sous-ensemble : il a intentionnellement des sémantiques différentes de celles du code ordinaire.

Le mode strict rend l'écriture de JavaScript

Le mode strict change les

Dans le mode strict, par exemple, vous ne pouvez pas utiliser de variables non déclarées.

Appel du mode strict

Le mode strict est déclaré en ajoutant "use strict"; au début d'un script ou d'une fonction.

Pour activer le mode strict pour tout le script, entrez l'instruction "use strict" :; avant toute autre déclaration :

"use strict";
str = "嗨,我是严格模式脚本!";  // Cela entraînera une erreur, car str n'est pas déclaré
Voyons voir‹/›

Pour activer le mode strict pour une appelle de fonction, placez l'expression exacte "use strict"; dans le corps de la fonction, puis avant toute autre instruction :

function myFunc() {
  // Syntaxe du mode strict au niveau de la fonction
  "use strict";
  str = "大家好,我是严格模式函数!";  // Cela entraînera une erreur
  return str;
}
Voyons voir‹/›

Le mode strict peut vous aider à écrire un code plus concis, par exemple en empêchant l'utilisation de variables non déclarées.

L'instruction "use strict" ne peut être reconnue qu'au début d'un script ou d'une fonction.

La syntaxe des guillemets simples et doubles est acceptée ('use strict'; ou "use strict";).

Limites courantes du mode strict

Comme vous le savez, dans le mode strict, il est nécessaire de déclarer toutes les variables.

Si vous assignez une valeur à un identificateur qui n'est pas une variable déclarée, cela déclenche une ReferenceError :

"use strict";
x = 5; // ReferenceError: x n'est pas défini
Voyons voir‹/›

L'utilisation d'objets non déclarés (les objets sont également des variables) n'est pas autorisée :

"use strict";
coord = {x:10, y:20};   // ReferenceError: coord n'est pas défini
Voyons voir‹/›

Dans le mode strict, si vous essayez de supprimer une variable, cela déclenche une erreur de syntaxe :

"use strict";
var msg = "Hello World";
delete msg;// SyntaxError
Voyons voir‹/›

De même, si vous essayez de supprimer une fonction dans le mode strict, vous obtiendrez une erreur de syntaxe :

"use strict";
function sum(a, b) {
return a + b;
}
delete sum;// SyntaxError
Voyons voir‹/›

Dans le mode strict, l'utilisation de noms de paramètres répétés n'est pas autorisée :

"use strict";
function square(a, a) {  // SyntaxError
return a * a;
}
Voyons voir‹/›

Dans le mode strict, l'écriture des propriétés lecture-seule n'est pas autorisée :

"use strict";
var person = {name: "Akash", age: 22};
Object.defineProperty(person, "gender", {value: "male", writable: false});
person.gender = "female";   // TypeError
Voyons voir‹/›

Dans le mode strict, l'utilisation de la directive with n'est pas autorisée :

"use strict";
with (Math) { x = sqrt(25);   // SyntaxError
Voyons voir‹/›

Dans le mode strict, l'utilisation des nombres octaux n'est pas autorisée :

"use strict";
var x = 010;   // SyntaxError
Voyons voir‹/›

Pour des raisons de sécurité,eval()Il n'est pas autorisé de créer de variables dans la portée appelante :

"use strict";
eval("var x = ", 10;
console.log(x);   // ReferenceError: la variable x n'est pas définie
Voyons voir‹/›

La chaîne "eval" ne peut pas être utilisée comme identificateur (nom de variable) :

"use strict";
var eval = "oldtoolbag.com";// SyntaxError
Voyons voir‹/›

La chaîne "arguments" ne peut pas être utilisée comme identificateur (nom de variable) :

"use strict";
var arguments = "oldtoolbag.com";// SyntaxError
Voyons voir‹/›

Pave la voie pour les versions futures d'ECMAScript

Les versions futures d'ECMAScript peuvent introduire de nouvelles syntaxes, ES5Le mode strict applique certaines restrictions pour simplifier la transition.

Il est plus facile de faire certains changements si l'on interdit ces modifications sur la base.

Dans le mode strict, la liste des identificateurs suivants devient des mots-clés réservés :

  • implements

  • interface

  • let

  • package

  • private

  • protected

  • public

  • static

  • yield

"use strict";
var package = true;  // Cela provoquera une erreur
Voyons voir‹/›