See the Pen 자바스크립트 const by nilgi (@nilgi) on CodePen.
const a = 24
a = 12 // 오류
a = a + 12 //오류
▲ const 재설정, 재할당할 수 없다.
<p id="const1"></p>
<script>
const name = ["cpu", "case", "video card"];
name[2] = "ram";
name.push("mouse");
document.getElementById("const1").innerHTML = name;
</script>
▲ const 사용
새 Array(정렬, 배열), Object(개체), Function(기능), RegExp(정규 표현)
const는 상수의 값, 배열, 개체를 재할당할 수 없지만 상수 배열의 요소, 객체의 속성(값)은 변경할 수 있다.
const name = ["cpu", "case", "video card"];
name = ["power", "case", "ssd"]; // 재할당 X
<p id="const2"></p>
<script>
const nilgi = {bloodtype:"AB", weight:"68kg", gender:"mail"}; // 개체
nilgi.color = "#333333"; // 값 바꾸기:
nilgi.blog = "nilgi.tistory.com"; // 값 더하기:
document.getElementById("const2").innerHTML = "내 블로그 주소는 " + nilgi.blog;
</script>
▲ const의 개체를 변경할 수 있다.
const nilgi = {bloodtype:"AB", weight:"68kg", gender:"mail"};
nilgi = {bloodtype:"AB RH+", weight:"168kg", gender:"femail"}; // 개체 재할당 불가능.
var n = 7; // 적용
const n = 7; // 비적용
{
let n = 7; // 적용
const n = 7; // 비적용
}
{
const n = 7; // 적용
const n = 7; // 비적용
}
▲ const {블록}은 let의 {블록]과 거의 비슷하다. 동일 선상 기존 let. var 값을 const로 재선언할 수 없다.
const n = 7; // 적용
n = 7; // 비적용
var n = 7; // 비적용
let n = 7; // 비적용
const n = 7; // 비적용
{
const n = 7; // 적용
n = 7; // 비적용
var n = 7; // 비적용
let n = 7; // 비적용
const n = 7; // 비적용
}
▲ 동일 선상 기존 const 값을 새 const 값을 재할당할 수 없다.
const n = 7; // 적용
{
const n = 8; // 적용
}
{
const n = 9; // 적용
}
▲ 다른 범위에는 재설정할 수 있다.
'재할당, 재설정, 재선언'은 같은 의미며 다양하게 써보는 게 도움이 된다. 공부하다 보니 같은 의미도 다르게 많이 사용한다. 나도 똑같이 써야 다른 사람의 것을 이해할 수 있다. 헷갈리지만 처음 듣는 것보다는 이해하기 쉽다.