let, const, var Javascript의 차이점은 무엇입니까?

WBOY
풀어 주다: 2024-08-13 19:03:51
원래의
994명이 탐색했습니다.

let, const , var difference in Javascript?

JavaScript에서는 let, const, var를 사용하여 변수를 선언하지만 세 가지 면에서 다릅니다.

1. 범위
2. 재배치
3. 게양

1.범위:

var은 함수 범위입니다. 즉, 함수 외부에서 var 변수에 액세스하려고 하면 정의되지 않은 오류가 표시됩니다.
예:-

function demo(){
  if(true){
    var n = 3;
  }
  console.log(n)
}
console.log(n) //ReferenceError: n is not defined
demo();
로그인 후 복사

letconst는 블록이므로 범위 내에서만 액세스할 수 있습니다. 그렇지 않으면 정의되지 않은 오류가 표시됩니다
예:-

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. 재배치

  • var: 해당 범위 내에서 재할당 및 재선언이 가능합니다.
  • let: 재할당할 수 있지만 해당 범위 내에서 다시 선언할 수는 없습니다.
  • const: 재할당하거나 다시 선언할 수 없습니다. 변수 자체는 변경할 수 없지만 const에 할당된 개체와 배열은 계속 수정할 수 있습니다. .

3. 게양

  • var은 호이스팅됩니다. 즉, 선언 전에 액세스할 수 있지만 해당 값은 코드가 변수가 초기화되는 줄에 도달할 때까지 정의되지 않습니다.
  • let도 호이스팅되지만 var와는 달리 "시간적 데드존"으로 인해 선언되기 전에는 접근할 수 없습니다.
  • const로 선언된 변수도 호이스팅되지만 선언 시 초기화되어야 하며 재할당될 수 없습니다. 그러나 변수가 객체 또는 배열인 경우 해당 내용을 수정할 수 있습니다(예: 배열에서 항목 추가 또는 제거).
// 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
로그인 후 복사

위 내용은 let, const, var Javascript의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿