Maison  >  Article  >  interface Web  >  let, const, var différence en Javascript ?

let, const, var différence en Javascript ?

WBOY
WBOYoriginal
2024-08-13 19:03:51958parcourir

let, const , var difference in Javascript?

En JavaScript, let, const et var sont utilisés pour déclarer des variables, mais ils diffèrent de trois manières :

1. Portée
2. Réaffectation
3. Levage

1.Portée :

var est une portée fonctionnelle signifie que nous accédons à la variable var n'importe où dans la fonction si nous essayons d'y accéder en dehors de la fonction, elle affichera une erreur non définie
Exemple :-

function demo(){
  if(true){
    var n = 3;
  }
  console.log(n)
}
console.log(n) //ReferenceError: n is not defined
demo();

let & const sont des blocs, ce qui signifie que nous ne pouvons y accéder que dans le cadre, sinon une erreur non définie sera affichée
Exemple :-

function demo(){
  if(true){
    let n = 3;
    const m = 5;
     console.log(n) // 3
     console.log(m) // 5
  }
  console.log(n) //ReferenceError: n is not defined
  console.log(m) //ReferenceError: n is not defined
}
console.log(n) //ReferenceError: n is not defined
console.log(m) //ReferenceError: n is not defined
demo();

2.Réaffectation

  • var : peut être réaffecté et redéclaré dans son périmètre.
  • let : Peut être réaffecté mais pas redéclaré dans son périmètre.
  • const : Ne peut pas être réaffecté ou redéclaré. La variable elle-même est immuable, bien que les objets et tableaux assignés à const puissent toujours être modifiés .

3.Levage

  • var est hissé, ce qui signifie qu'il est accessible avant sa déclaration, mais sa valeur sera indéfinie jusqu'à ce que le code atteigne la ligne où la variable est initialisée.
  • let est également hissé, mais contrairement à var, il n'est pas accessible avant sa déclaration en raison de la "zone morte temporelle".
  • Les
  • Les variables déclarées avec const sont également hissées mais doivent être initialisées au moment de la déclaration et ne peuvent pas être réaffectées. Cependant, si la variable est un objet ou un tableau, son contenu peut être modifié (par exemple, ajouter ou supprimer des éléments d'un tableau).
// var example
console.log(a); // undefined (due to hoisting)
var a = 10;
console.log(a); // 10

// let example
console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 20;
console.log(b); // 20

// const example
const c = 30;
c = 40; // TypeError: Assignment to constant variable

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