English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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";).
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éfiniVoyons 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éfiniVoyons 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;// SyntaxErrorVoyons 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;// SyntaxErrorVoyons 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"; // TypeErrorVoyons voir‹/›
Dans le mode strict, l'utilisation de la directive with n'est pas autorisée :
"use strict"; with (Math) { x = sqrt(25); // SyntaxErrorVoyons voir‹/›
Dans le mode strict, l'utilisation des nombres octaux n'est pas autorisée :
"use strict"; var x = 010; // SyntaxErrorVoyons 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éfinieVoyons voir‹/›
La chaîne "eval" ne peut pas être utilisée comme identificateur (nom de variable) :
"use strict"; var eval = "oldtoolbag.com";// SyntaxErrorVoyons voir‹/›
La chaîne "arguments" ne peut pas être utilisée comme identificateur (nom de variable) :
"use strict"; var arguments = "oldtoolbag.com";// SyntaxErrorVoyons voir‹/›
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 erreurVoyons voir‹/›