>웹 프론트엔드 >JS 튜토리얼 >let과 const의 차이점은 무엇입니까

let과 const의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2020-12-24 12:02:3818724검색

차이점: let으로 선언된 변수는 변경될 수 있으며 값과 유형이 모두 변경될 수 있습니다. 반면 const로 선언된 상수는 변경할 수 없습니다. 즉, const가 선언되면 즉시 초기화되어야 하며 나중에 값을 할당할 수 없습니다. .

let과 const의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

관련 추천: "javascript 비디오 튜토리얼"

let과 const의 차이점:

① let으로 선언된 변수는 변경될 수 있으며, 값과 유형 모두 선언된 상수가 변경될 수 있습니다. const는 변경할 수 없습니다. 즉, const가 선언되면 즉시 초기화되어야 하며 나중에 할당할 수 없습니다.

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

②배열, 객체 등 복합형 변수의 경우 변수 이름은 데이터를 가리키는 것이 아니라 데이터가 위치한 주소를 가리킵니다. const는 변수 이름이 가리키는 주소가 변경되지 않는다는 것을 보장할 뿐, 해당 주소의 데이터가 변경되지 않는다는 것을 보장하지 않으므로 복합 유형 변수를 상수로 선언할 때는 매우 주의해야 합니다.

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

정의된 객체나 배열의 데이터가 변경되지 않도록 하려면 object.freeze(arr)를 사용하여 고정할 수 있습니다. 동결이란 이 개체나 배열에 새 속성을 추가할 수 없고, 기존 속성의 값을 수정할 수 없으며, 기존 속성을 삭제할 수 없음을 의미합니다.

const arr = [];
Object.freeze(arr);
// 不报错,但数据改变无效
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
console.log(arr.length); // 输出:0

const와 동일:

① 선언된 블록 수준 범위 내에서만 유효합니다.

② 승진 불가, 임시 데드존이 존재하며, 포지션 선언 이후에만 사용 가능합니다.

③반복 선언은 금지됩니다.

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요! !

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.