>  기사  >  웹 프론트엔드  >  React에서 const는 무엇입니까?

React에서 const는 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-11-27 16:25:1712547검색

Const는 다음과 같습니다. 1. const로 선언된 변수는 변경할 수 없습니다. 2. const의 범위는 let 명령과 동일합니다. 3. const 명령으로 선언된 상수는 승격되지 않습니다. . const로 선언한 상수도 let 명령과 동일합니다. 5. Const는 읽기 전용 상수를 선언합니다.

React에서 const는 무엇입니까?

이 튜토리얼의 운영 환경: windows7 시스템, React17 버전 이 방법은 모든 브랜드의 컴퓨터에 적합합니다.

React의 const는

1입니다. Const는 읽기 전용 상수를 선언합니다. 한번 선언된 상수의 값은 변경할 수 없습니다.

const PI = 3.1415;
PI // 3.1415
PI = 3;
// TypeError: Assignment to constant variable.

위 코드는 상수 값을 변경하면 오류가 발생함을 보여줍니다.

2. const로 선언된 변수는 변경할 수 없는 값입니다. 즉, const 변수는 일단 선언되면 즉시 초기화되어야 하며 나중에 할당할 수 없습니다.

const foo;
// SyntaxError: Missing initializer in const declaration

위 코드는 const의 경우 값을 할당하지 않고 선언만 하면 오류가 보고된다는 것을 나타냅니다.

3. const의 범위는 let 명령과 동일합니다. 선언이 있는 블록 수준 범위 내에서만 유효합니다.

if (true) {
const MAX = 5;
}
MAX // Uncaught ReferenceError: MAX is not defined

4. const 명령으로 선언된 상수는 승격되지 않으며 임시 데드존이 있으며 선언된 위치 이후에만 사용할 수 있습니다.

if (true) {
console.log(MAX); // ReferenceError
const MAX = 5;
}

위 코드는 상수 MAX가 선언되기 전에 호출되어 오류가 보고됩니다.

5. const로 선언한 상수는 let처럼 반복해서 선언할 수 없습니다.

var message = "Hello!";
let age = 25;
// 以下两行都会报错
const message = "Goodbye!";
const age = 30;

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

const foo = {};
foo.prop = 123;
foo.prop
// 123
foo = {}; // TypeError: "foo" is read-only

위 코드에서 상수 foo는 객체를 가리키는 주소를 저장합니다. 변경할 수 없는 유일한 것은 이 주소입니다. 즉, foo를 다른 주소로 지정할 수는 없지만 개체 자체는 변경 가능하므로 여전히 새 속성을 추가할 수 있습니다.

여기 또 다른 예가 있습니다.

const a = [];
a.push('Hello'); // 可执行
a.length = 0; // 可执行
a = ['Dave']; // 报错

위 코드에서 상수 a는 배열 자체는 쓰기 가능하지만, a에 다른 배열이 할당되면 오류가 보고됩니다.

7. 정말로 개체를 고정하려면 Object.freeze 메서드를 사용해야 합니다.

const foo = Object.freeze({});
// 常规模式时,下面一行不起作用;
// 严格模式时,该行会报错
foo.prop = 123;

위 코드에서 상수 foo는 고정된 객체를 가리키므로 새 속성을 추가할 수 없으며 엄격 모드에서는 오류가 보고됩니다.

8. 개체 자체를 동결하는 것 외에도 개체의 속성도 동결해야 합니다. 아래는 객체를 완전히 동결시키는 함수입니다.

var constantize = (obj) => {
Object.freeze(obj);
Object.keys(obj).forEach( (key, value) => {
if ( typeof obj[key] === 'object' ) {
constantize( obj[key] );
}
});
};

ES5에는 변수를 선언하는 방법이 var 명령과 function 명령의 두 가지뿐입니다. let 및 const 명령을 추가하는 것 외에도 ES6에는 import 명령과 class 명령이라는 변수를 선언하는 두 가지 다른 방법도 있습니다. 따라서 ES6에서는 변수를 선언하는 방법이 총 6가지가 있습니다.

관련 무료 학습 권장 사항: javascript(동영상)

위 내용은 React에서 const는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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