자바스크립트에서는 배열을 어떤 타입으로 생성하는 냐에 따라서 수정 여부가 달라진다.
먼저 배열을 생성해 보자.
//배열 생성
const fruits = ["apple", "orange", "peach"];
배열의 요소를 수정하는 코드는 크게 두 가지가 있다.
fruits = ["apple", "kiwi", "peach"]
fruits[2] = "mango";
하지만 이 코드를 실행해 보면,
TypeError: Assignment to constant variable.
이러한 에러가 발생한다.
그 이유는 배열 생성을 const로 생성했기 때문
const의 경우 변수 자체를 변경할 수 없는 바인딩된 참조이다.
때문에 배열의 요소(객체)를 각각 수정할 수는 있지만, 배열 자체를 통째로 변경하는 것은 불가능하다.
따라서 const로 생성된 배열은
fruits[2] = "mango";이렇게 직접 객체에 접근해 수정하고,
통으로 배열 자체를 바꿀 일이 많다면 const 대신 let을 사용해서 배열을 선언하자.
[예시]
//배열 생성
let fruits = ["apple", "orange", "peach"]; //let으로 선언
//배열 요소 수정
fruits = ["apple", "kiwi", "peach"]; //배열 통째로 수정
fruits[2] = "mango"; //접근 수정
//배열 출력
console.log(fruits);
[결과]

'JavaScript_study' 카테고리의 다른 글
| [JavaScript] 헷갈리는 callback함수 정리 (0) | 2025.04.14 |
|---|---|
| [JavaScript] 자바스크립트 객체 -> 배열 변환(keys, values, entries) (1) | 2025.04.14 |
| [JavaScript] 자바스크립트 객체 Value값 변경 & 삭제, 함수 호출 (0) | 2025.04.12 |
| [JavaScript] 콜백함수 개념 (0) | 2025.04.10 |
| [JavaScript] 자바스크립트 괄호표기법 사용한 객체 Value 값 가져오기 (1) | 2025.04.10 |