Maison >interface Web >js tutoriel >Apprenez-en davantage sur let, var et const : que signifient-ils ?

Apprenez-en davantage sur let, var et const : que signifient-ils ?

WBOY
WBOYoriginal
2024-02-21 18:03:04610parcourir

Apprenez-en davantage sur let, var et const : que signifient-ils ?

Comprendre let, var et const en profondeur : que signifient-ils ?

En JavaScript, nous avons trois manières différentes de déclarer des variables, à savoir let, var et const. Ils présentent quelques différences dans leur fonction et leur utilisation. Nous examinerons ci-dessous leurs significations et leur utilisation respectives.

  1. let :
    let est un nouveau mot-clé introduit dans ES6 pour déclarer des variables de portée bloc. Sa caractéristique est que les variables ont une portée au niveau du bloc et ne sont visibles qu'à l'intérieur du bloc où la variable est déclarée. Un scénario d'utilisation plus courant consiste à déclarer des variables locales dans un corps de boucle, une instruction conditionnelle ou une fonction.

Exemple de code :

function foo() {
  if (true) {
    let x = 10;  // 只在if块内可见
    console.log(x);  // 输出10
  }
  console.log(x);  // ReferenceError: x is not defined
}

foo();
  1. var :
    Dans ES5, nous déclarons les variables à l'aide du mot-clé var. Différente de let, la variable déclarée par var est une variable de portée au niveau de la fonction, et sa portée est la fonction entière, et non la portée au niveau du bloc. Dans le même temps, les variables déclarées avec var ont la caractéristique de promotion de variable, c'est-à-dire qu'elles peuvent être utilisées avant la déclaration.

Exemple de code :

function foo() {
  if (true) {
    var x = 10;  // 函数级作用域,整个函数可见
    console.log(x);  // 输出10
  }
  console.log(x);  // 输出10
}

foo();

La fonctionnalité de promotion de variable peut également être testée dans différents blocs de code :

function foo() {
  console.log(x);  // 输出undefined,而不是ReferenceError: x is not defined
  if (true) {
    var x = 10;  // 变量提升
  }
  console.log(x);  // 输出10
}

foo();
  1. const :
    const est utilisé pour déclarer des constantes, ce qui signifie que la valeur de la constante ne peut pas être modifiée après la déclaration . Une fois attribué, il ne peut pas être réaffecté. Semblable à let, const a également une portée au niveau du bloc et n'est visible que dans le bloc où la variable est déclarée.

Exemple de code :

function foo() {
  const PI = 3.14;
  PI = 3.14159;  // TypeError: Assignment to constant variable
  console.log(PI);
}

foo();

Il convient de noter que la constante déclarée par const signifie que la valeur de la variable ne peut pas être modifiée, et non que l'objet référencé par la variable ne peut pas être modifié. Si const déclare un objet, les propriétés de l'objet peuvent être modifiées, mais ne peuvent pas être réaffectées.

Exemple de code :

const obj = {x: 10};
obj.x = 20;  // 修改属性值
console.log(obj.x);  // 输出20

obj = {x: 30};  // TypeError: Assignment to constant variable

Résumé :

  • let s'applique aux variables de portée au niveau du bloc et n'est visible qu'à l'intérieur du bloc déclaré.
  • var convient aux variables de portée au niveau de la fonction, peut être utilisé avant la déclaration et présente les caractéristiques de promotion de variable.
  • const est utilisé pour déclarer des constantes. La valeur d'une constante ne peut pas être modifiée après la déclaration, mais faites attention à la différence entre la modification et la réaffectation des attributs d'un objet.

Différentes méthodes de déclaration de variables conviennent à différents scénarios. Une sélection et une utilisation raisonnables peuvent améliorer la lisibilité et la maintenabilité du code. J'espère que l'introduction de cet article pourra aider les lecteurs à mieux comprendre et utiliser let, var et const.

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