Maison > interface Web > Questions et réponses frontales > Quelles sont les différences entre let et const dans es6

Quelles sont les différences entre let et const dans es6

青灯夜游
Libérer: 2022-04-19 16:29:23
original
5096 Les gens l'ont consulté

Différence : 1. Let déclare les variables, dont les valeurs et les types peuvent être modifiés, tandis que const déclare les constantes, qui ne peuvent pas être modifiées ou réaffectées ; 2. let les variables n'ont pas besoin d'être initialisées après la déclaration, tandis que les constantes const, une fois déclaré, il doit être initialisé immédiatement ; 3. const pointe toujours vers une adresse fixe, alors que let n'est pas fixe.

Quelles sont les différences entre let et const dans es6

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

let et const sont deux nouveaux mots-clés introduits dans es6 pour déclarer des variables. Bien que nous puissions toujours utiliser la variable var bien connue, nous disposons désormais de deux outils plus puissants à utiliser : let et const.

La différence entre let et const dans es6

① Let déclare une variable, et sa valeur et son type peuvent être modifiés ; const déclare une constante, et ni sa valeur ni son type ne peuvent être modifiés.

② Les variables Let n'ont pas besoin d'être initialisées après avoir été déclarées, tandis que les constantes const, une fois déclarées, doivent être initialisées immédiatement et ne peuvent pas se voir attribuer de valeur ultérieurement.

const i ; // 报错,一旦声明,就必须立即初始化
const j = 5;
j = 10; // 报错,常量不可以改变
Copier après la connexion

③ const pointe toujours vers une adresse fixe, alors que let n'est pas fixe

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, et cette adresse 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.

Remarque :

Pour les variables de type composite telles que les tableaux et les objets, le nom de la variable ne pointe pas vers les données, mais vers l'adresse où se trouvent les données. const garantit uniquement que l'adresse pointée par le nom de la variable reste inchangée, mais ne garantit pas que les données à cette adresse restent inchangées. Vous devez donc être très prudent lorsque vous déclarez une variable de type composite comme constante.

const arr = [];
// 报错,[1,2,3]与[]不是同一个地址
arr = [1,2,3];
const arr = [];
// 不报错,变量名arr指向的地址不变,只是数据改变
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
console.log(arr.length); // 输出:3
Copier après la connexion

Les similitudes entre let et const dans es6 :

① Uniquement valable dans la portée au niveau du bloc où se trouve la déclaration.

② Il n'y a pas de promotion de déclaration, et il existe une zone morte temporaire, qui ne peut être utilisée qu'après la position déclarée.

<script type="text/javascript">
console.log(dadi);
let dadi = 569;
</script>
Copier après la connexion

Résultat : Une erreur sera signalée

Quelles sont les différences entre let et const dans es6

③ Ne peut pas être répété.

【Recommandations associées : tutoriel vidéo javascript, front-end web

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:
es6
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