const로 선언된 배열은 왜 수정이 될까?

손성오·2024년 2월 16일
const ab = ["A","B"]
ab.push("C")
console.log(ab) //["A","B","C]

const는 수정할 수 없는 값, 즉 상수를 뜻한다
하지만 const로 선언된 배열이나 객체는 수정 할 수 있는데 그 이유는 const는 엄밀히 말하자면 값을 변경할 수 없다는 뜻이 아니라 변수를 덮어쓸 수 없다는 뜻이기 때문이다

따라서

const ab = ["A","B"]
ab = []

다음과 같은 경우에는 에러가 발생한다

하지만 상수에 객체를 저장하고 객체는 주소를 참조하는 점을 이용하여 메모리 주소에 있는 값을 조작할 수는 있는것이다

0개의 댓글