JavaScript에서 상수를 만드는 방법은 무엇입니까?
상수는 값을 변경할 수 없는 불변 변수입니다. 상수를 만든 후에는 해당 값을 변경할 수 없습니다. JavaScript로 코딩하는 동안 상수를 생성해야 하는 요구 사항을 발견했을 수 있습니다. ECMA Script 6 이전에는 JavaScript에서 상수를 만드는 것이 쉽지 않았습니다. 이 게시물에서는 보여 드리겠습니다 [...]
상수는 값을 변경할 수 없는 불변 변수입니다. 상수를 만든 후에는 해당 값을 변경할 수 없습니다.

JavaScript로 코딩하는 동안 상수를 생성해야 하는 요구 사항을 발견했을 수 있습니다. ECMA Script 6 이전에는 JavaScript에서 상수를 만드는 것이 쉽지 않았습니다. 이 게시물에서는 ECMA Script 5와 ECMA Script 6 모두에서 상수를 만드는 방법을 보여 드리겠습니다.
Constants in ECMA 5
Object.defineProperty()를 사용하여 ECMA Script 5에서 상수를 만들 수 있습니다. 먼저 변수가 전역 변수인지 창 객체의 일부인지 알아 내야합니다. 결정되면 writable을 false로 설정하여 변수를 만듭니다.
Object.defineProperty(typeof global==="object" ? global : window, "foo", { value: 10000, enumerable: true, configurable: true, writable: false });
Object.defineProperty() 함수는 세 개의 매개변수를 사용합니다.
- 변수를 생성해야 하는 개체
- 만들 변수의 이름입니다
- 변수의 동작을 구성하는 개체입니다.
상수를 만들려면,
- 첫 번째 매개 변수로 window object 또는 global object 를 전달합니다
- 두 번째 매개변수로 생성할 변수의 이름(이 경우 foo)을 전달합니다.
- 세 번째 매개 변수로 변수 동작을 구성하기 위해 object를 전달합니다. writable 속성을 false로 만드는 것을 명심하십시오.
우리는 상수 foo를 만들었습니다. foo 의 값을 재할당하려고 하면 JavaScript는 이를 무시합니다. 그러나 엄격 모드에서 JavaScript를 실행하면 JavaScript에서 예외가 발생합니다. 이것이 실제로 작동하는 것을 봅시다, 우리는 엄격 모드에서 JavaScript를 실행하고 foo의 값을 재할당하려고 합니다.
"use strict" Object.defineProperty(typeof global==="object" ? global : window, "foo", { value: 10000, enumerable: true, configurable: true, writable: false }); console.log(foo); foo=90; console.log(foo);
엄격 모드로 인해 JavaScript는 아래 이미지와 같이 예외를 발생시킵니다.

이런 식으로 Object.defineProperty()를 사용하고 false에 쓰기 가능하게 만들면 ECMA Script 5에서 상수를 만들 수 있습니다.
Constants in ECMA 6
눈치챘을 수도 있듯이 ECMA Script 5에서 상수를 만드는 것은 그리 간단하지 않았습니다. ECMA Script 6에서는 새로운 기능 const가 도입되었습니다. 그것은 우리가 상수 또는 불변 변수를 만들 수 있게 해줍니다.
const foo=10000; console.log(foo);
foo 의 값을 재할당하려고 하면 JavaScript는 ECMA Script 6에서 이에 대해 불평합니다. 아래 목록과 같이 foo 의 값을 재할당해 보겠습니다.
const foo=10000; console.log(foo); foo=90; console.log(foo);
JavaScript는 아래 이미지와 같이 이에 대해 불평합니다.

다음은 JavaScript에서 상수를 만들 수 있는 두 가지 방법입니다. 이 게시물이 도움이 되었기를 바랍니다. 읽어 주셔서 감사합니다.