Maison interface Web Questions et réponses frontales Comment déclarer des constantes en lecture seule dans ES6

Comment déclarer des constantes en lecture seule dans ES6

Jan 11, 2023 pm 05:38 PM
es6 常量

Dans es6, vous pouvez utiliser le mot-clé const pour déclarer des constantes en lecture seule, la syntaxe est "nom de la constante const = valeur constante ;" ; une fois déclarée, la constante doit être initialisée et la valeur initialisée ne peut pas être modifiée. Les constantes déclarées comme const appartiennent à la portée du bloc et sont soumises à la "zone morte temporaire". Elles ne créeront aucune propriété globale sur la fenêtre et ne peuvent pas être réaffectées ou redéclarées.

Comment déclarer des constantes en lecture seule dans ES6

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

Dans es6, vous pouvez utiliser le mot-clé const pour déclarer des constantes en lecture seule.

es6 const mot-clé

const déclare une constante en lecture seule. Une fois déclarée, une constante doit être initialisée et la valeur initialisée ne peut pas être modifiée. Les constantes

const PI = 3.1415;
PI // 3.1415

PI = 3;
// TypeError: Assignment to constant variable.
Copier après la connexion

const obéissent aux règles suivantes :

  • appartient à la portée du bloc.

  • Sous réserve de la « zone morte temporaire ».

  • Il ne crée aucune propriété globale sur la fenêtre.

  • Non redistribuable.

  • ne peut pas être reformulé.

const Une fois qu'une variable est déclarée, elle doit être initialisée immédiatement.

const foo;
// SyntaxError: Missing initializer in const declaration
Copier après la connexion

Le code ci-dessus indique que pour const, si vous déclarez simplement sans attribuer de valeur, une erreur sera signalée.

La portée de const est la même que celle de la commande let : elle n'est valide que dans la portée au niveau du bloc où elle est déclarée.

if (true) {
  const MAX = 5;
}

MAX // Uncaught ReferenceError: MAX is not defined
Copier après la connexion

Les constantes déclarées par la commande const ne sont pas non plus promues. Il existe également une zone morte temporaire et ne peuvent être utilisées qu'après la position déclarée.

if (true) {
  console.log(MAX); // ReferenceError
  const MAX = 5;
}
Copier après la connexion

Le code ci-dessus est appelé avant que la constante MAX ne soit déclarée et une erreur est signalée.

La constante déclarée par const ne peut pas être déclarée à plusieurs reprises comme let.

var message = "Hello!";
let age = 25;

// 以下两行都会报错
const message = "Goodbye!";
const age = 30;
Copier après la connexion

L'essence de const

const garantit en fait que ce n'est pas que la valeur de la variable ne peut pas être modifiée, mais que les données stockées dans l'adresse mémoire pointée par la variable ne peuvent pas être modifiées. Pour les types de données simples (valeurs numériques, chaînes, valeurs booléennes), la valeur est stockée à l'adresse mémoire pointée par la variable, et équivaut donc à une constante. Mais pour les données de type composite (principalement des objets et des tableaux), l'adresse mémoire pointée par la variable ne stocke qu'un pointeur vers les données réelles. Const ne peut que garantir que ce pointeur est fixe (c'est-à-dire qu'il pointe toujours vers une autre adresse fixe). , quant à savoir si la structure de données vers laquelle elle pointe est variable, elle est complètement hors de contrôle. Par conséquent, vous devez être très prudent lorsque vous déclarez un objet comme constante.

const foo = {};

// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123

// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only
Copier après la connexion

Dans le code ci-dessus, la constante foo stocke une adresse qui pointe vers un objet. La seule chose qui est immuable est cette adresse, c'est-à-dire que vous ne pouvez pas pointer foo vers une autre adresse, mais l'objet lui-même est mutable, vous pouvez donc toujours lui ajouter de nouvelles propriétés.

Voici un autre exemple.

const a = [];
a.push('Hello'); // 可执行
a.length = 0;    // 可执行
a = ['Dave'];    // 报错
Copier après la connexion

Dans le code ci-dessus, la constante a est un tableau. Le tableau lui-même est accessible en écriture, mais si un autre tableau est affecté à a, une erreur sera signalée.

Si vous souhaitez vraiment geler l'objet, vous devez utiliser la méthode Object.freeze.

const foo = Object.freeze({});

// 常规模式时,下面一行不起作用;
// 严格模式时,该行会报错
foo.prop = 123;
Copier après la connexion

Dans le code ci-dessus, la constante foo pointe vers un objet gelé, donc l'ajout de nouveaux attributs ne fonctionnera pas et une erreur sera signalée en mode strict.

En plus de geler l'objet lui-même, les propriétés de l'objet doivent également être gelées. Vous trouverez ci-dessous une fonction qui fige complètement un objet.

var constantize = (obj) => {
  Object.freeze(obj);
  Object.keys(obj).forEach( (key, i) => {
    if ( typeof obj[key] === 'object' ) {
      constantize( obj[key] );
    }
  });
};
Copier après la connexion

【Recommandations associées : Tutoriel vidéo javascript, Vidéo de programmation

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que sont les constantes en langage C ? Pouvez-vous donner un exemple ? Que sont les constantes en langage C ? Pouvez-vous donner un exemple ? Aug 28, 2023 pm 10:45 PM

Une constante est aussi appelée variable et une fois définie, sa valeur ne change pas lors de l'exécution du programme. Par conséquent, nous pouvons déclarer une variable comme une constante faisant référence à une valeur fixe. On l'appelle aussi texte. Les constantes doivent être définies à l'aide du mot-clé Const. Syntaxe La syntaxe des constantes utilisées dans le langage de programmation C est la suivante - consttypeVariableName; (ou) consttype*VariableName; Différents types de constantes Les différents types de constantes utilisées dans le langage de programmation C sont les suivants : Constantes entières - Par exemple : 1,0 ,34, 4567 Constantes à virgule flottante - Exemple : 0.0, 156.89, 23.456 Constantes octales et hexadécimales - Exemple : Hex : 0x2a, 0xaa.. Octal

Comment créer une constante en Python ? Comment créer une constante en Python ? Aug 29, 2023 pm 05:17 PM

Les constantes et les variables sont utilisées pour stocker les valeurs des données dans la programmation. Une variable fait généralement référence à une valeur qui peut changer dans le temps. Une constante est un type de variable dont la valeur ne peut pas être modifiée lors de l'exécution du programme. Il n'y a que six constantes intégrées disponibles en Python, elles sont False, True, None, NotImplemented, Ellipsis(...) et __debug__. Hormis ces constantes, Python ne dispose d'aucun type de données intégré pour stocker des valeurs constantes. Exemple Un exemple de constante est illustré ci-dessous - False=100 sorties SyntaxError:cannotassigntoFalseFalse est une constante intégrée en Python utilisée pour stocker des valeurs booléennes.

L'async est-il pour es6 ou es7 ? L'async est-il pour es6 ou es7 ? Jan 29, 2023 pm 05:36 PM

async est es7. async et wait sont de nouveaux ajouts à ES7 et sont des solutions pour les opérations asynchrones ; async/await peut être considéré comme un sucre syntaxique pour les modules co et les fonctions de générateur, résolvant le code asynchrone js avec une sémantique plus claire. Comme son nom l'indique, async signifie « asynchrone ». Async est utilisé pour déclarer qu'une fonction est asynchrone ; il existe une règle stricte entre async et wait. Les deux sont inséparables l'un de l'autre et wait ne peut être écrit que dans des fonctions asynchrones.

En Java, est-il possible de définir une constante en utilisant uniquement le mot-clé final ? En Java, est-il possible de définir une constante en utilisant uniquement le mot-clé final ? Sep 20, 2023 pm 04:17 PM

Une variable constante est une variable dont la valeur est fixe et dont une seule copie existe dans le programme. Une fois que vous avez déclaré une variable constante et lui avez attribué une valeur, vous ne pouvez plus modifier sa valeur tout au long du programme. Contrairement à d'autres langages, Java ne prend pas directement en charge les constantes. Cependant, vous pouvez toujours créer une constante en déclarant une variable static et final. Statique - Une fois que vous avez déclaré une variable statique, elle sera chargée en mémoire au moment de la compilation, c'est-à-dire qu'une seule copie sera disponible. Final - Une fois que vous avez déclaré une variable finale, sa valeur ne peut plus être modifiée. Par conséquent, vous pouvez créer une constante en Java en déclarant la variable d'instance comme statique et finale. Exemple de démonstration classData{&am

Comment trouver différents éléments dans deux tableaux dans Es6 Comment trouver différents éléments dans deux tableaux dans Es6 Nov 01, 2022 pm 06:07 PM

Étapes : 1. Convertissez respectivement les deux tableaux en types d'ensemble, avec la syntaxe "newA=new Set(a); newB=new Set(b);" 2. Utilisez has() et filter() pour trouver l'ensemble de différences. , avec la syntaxe " new Set([...newA].filter(x =>!newB.has(x)))", les éléments de l'ensemble de différences seront inclus dans une collection d'ensembles et renvoyés 3. Utilisez Array. from pour convertir l'ensemble en tableau Tapez, syntaxe "Array.from(collection)".

Pourquoi le mini-programme doit-il convertir es6 en es5 ? Pourquoi le mini-programme doit-il convertir es6 en es5 ? Nov 21, 2022 pm 06:15 PM

Pour la compatibilité du navigateur. En tant que nouvelle spécification pour JS, ES6 ajoute de nombreuses nouvelles syntaxes et API. Cependant, les navigateurs modernes ne prennent pas en charge les nouvelles fonctionnalités d'ES6, le code ES6 doit donc être converti en code ES5. Dans les outils de développement Web WeChat, babel est utilisé par défaut pour convertir le code de syntaxe ES6 du développeur en code ES5 bien pris en charge par les trois terminaux, aidant les développeurs à résoudre les problèmes de développement causés par différents environnements uniquement dans le projet. Il suffit de configurer et de vérifier le ; Option "ES6 à ES5".

Comment implémenter la déduplication de tableau dans es5 et es6 Comment implémenter la déduplication de tableau dans es5 et es6 Jan 16, 2023 pm 05:09 PM

Dans es5, vous pouvez utiliser l'instruction for et la fonction indexOf() pour réaliser la déduplication de tableau. La syntaxe "for(i=0;i<array length;i++){a=newArr.indexOf(arr[i]);if( a== -1){...}}". Dans es6, vous pouvez utiliser l'opérateur spread, Array.from() et Set pour supprimer la duplication ; vous devez d'abord convertir le tableau en un objet Set pour supprimer la duplication, puis utiliser l'opérateur spread ou la fonction Array.from(). pour reconvertir l'objet Set en un groupe Just.

Que signifie la zone morte temporaire es6 ? Que signifie la zone morte temporaire es6 ? Jan 03, 2023 pm 03:56 PM

Dans es6, la zone morte temporaire est une erreur de syntaxe, qui fait référence aux commandes let et const qui font que le bloc forme une portée fermée. Dans un bloc de code, avant qu'une variable ne soit déclarée à l'aide de la commande let/const, la variable est indisponible et appartient à la « zone morte » de la variable avant que la variable ne soit déclarée ; c'est ce qu'on appelle syntaxiquement une « zone morte temporaire ». ES6 stipule que la promotion des variables ne se produit pas dans les zones mortes temporaires et dans les instructions let et const, principalement pour réduire les erreurs d'exécution et empêcher l'utilisation de la variable avant qu'elle ne soit déclarée, ce qui peut entraîner un comportement inattendu.

See all articles