Maison > interface Web > js tutoriel > le corps du texte

Comment déclarer des constantes en JavaScript

醉折花枝作酒筹
Libérer: 2021-06-10 14:41:25
original
5312 Les gens l'ont consulté

En js, vous pouvez utiliser le mot-clé const pour déclarer des constantes, et le format de syntaxe est "const name = value;". La déclaration const crée une référence en lecture seule à une valeur, mais cela ne signifie pas que la valeur qu'elle contient est immuable, mais simplement que l'identifiant de la variable ne peut pas être réaffecté.

Comment déclarer des constantes en JavaScript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

const, utilisé pour déclarer des constantes.

Remarque : Lors de la définition des variables, elles doivent être initialisées en même temps, et leurs valeurs ne peuvent pas être modifiées ultérieurement.

const number = 42;

try {
  number = 99;
} catch (err) {
  console.log(err);
  // expected output: TypeError: invalid assignment to const `number'
  // Note - error messages will vary depending on browser
}

console.log(number);
// expected output: 42
Copier après la connexion

Résultat :

> TypeError: Assignment to constant variable.
> 42
Copier après la connexion

Syntaxe

const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];
Copier après la connexion

nameN nom de constante, qui peut être n'importe quel identifiant légal. valueN est une valeur constante, qui peut être n'importe quelle expression juridique.

Description

Cette déclaration crée une constante dont la portée peut être globale ou locale au bloc déclaré. Contrairement aux variables var, les constantes globales ne deviennent pas des propriétés de l'objet window. Un initialiseur pour une constante est requis ; c'est-à-dire que vous devez spécifier sa valeur dans la même instruction que la déclaration (ce qui est logique, puisqu'elle ne peut pas être modifiée ultérieurement).

La déclaration const crée une référence en lecture seule à une valeur. Mais cela ne signifie pas que la valeur qu'elle contient est immuable, mais simplement que l'identifiant de la variable ne peut pas être réaffecté. Par exemple, dans le cas où le contenu référencé est un objet, cela signifie que le contenu de l'objet (par exemple ses paramètres) peut être modifié.

Toutes les discussions sur "l'espace mort temporaire" s'appliquent à let et const.

Une constante ne peut pas avoir le même nom que d'autres variables ou fonctions dans sa portée.

Exemple

const Utilisation de base

Les constantes peuvent être déclarées en lettres majuscules ou minuscules, mais généralement toutes les lettres majuscules sont utilisées.

// 定义常量MY_FAV并赋值7
const MY_FAV = 7;

// 报错 - Uncaught TypeError: Assignment to constant variable.
MY_FAV = 20;

// MY_FAV is 7
console.log('my favorite number is: ' + MY_FAV);

// 尝试重新声明会报错
// Uncaught SyntaxError: Identifier 'MY_FAV' has already been declared
const MY_FAV = 20;

// MY_FAV 保留给上面的常量,这个操作会失败
var MY_FAV = 20;

// 也会报错
let MY_FAV = 20;
Copier après la connexion

Portée du bloc

Il est important de noter la nature de la portée du bloc

if (MY_FAV === 7) {
  // 没问题,并且创建了一个块作用域变量 MY_FAV
  // (works equally well with let to declare a block scoped non const variable)
  let MY_FAV = 20;

  // MY_FAV 现在为 20
  console.log('my favorite number is ' + MY_FAV);

  // 这被提升到全局上下文并引发错误
  var MY_FAV = 20;
}

// MY_FAV 依旧为7
console.log('my favorite number is ' + MY_FAV);
Copier après la connexion

La constante nécessite une valeur initiale

// 报错
// Uncaught SyntaxError: Missing initializer in const declaration

const FOO;
Copier après la connexion

La constante peut être définie comme une objet et un tableau

const MY_OBJECT = {'key': 'value'};

// 重写对象和上面一样会失败
// Uncaught TypeError: Assignment to constant variable.
MY_OBJECT = {'OTHER_KEY': 'value'};

// 对象属性并不在保护的范围内
// 下面这个声明会成功执行
MY_OBJECT.key = 'otherValue'; // Use Object.freeze() to make object immutable

// 也可以用来定义数组
const MY_ARRAY = [];
// 可以向数组填充数据
MY_ARRAY.push('A'); // ["A"]
// 但是,将一个新数组赋给变量会引发错误
// Uncaught TypeError: Assignment to constant variable.
MY_ARRAY = ['B'];
Copier après la connexion

[Apprentissage recommandé : Tutoriel avancé javascript]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal