코딩 스쿨 JavaScript

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP
▶ JavaScript Tutorial
JavaScript HOME
JavaScript Introduction
JavaScript Where To
JavaScript Output
JavaScript Statements
JavaScript Syntax
JavaScript Comments
JavaScript Variables
JavaScript Let
JavaScript Const
JavaScript Operators
JavaScript Arithmetic
JavaScript Assignment
JavaScript Data Types
JavaScript Functions
JavaScript Objects
JavaScript Object Properties
JavaScript Object Methods
JavaScript Object Display
JavaScript Object Constructors
JavaScript Events
JavaScript Strings
JavaScript String Methods
JavaScript String Search
JavaScript String Templates
JavaScript Numbers
JavaScript BigInt
JavaScript Number Methods
JavaScript Number Properties
JavaScript Arrays
JavaScript Array Methods
JavaScript Array Search
JavaScript Array Sort
JavaScript Array Iteration
JavaScript Array Const
JavaScript Dates
JavaScript Date Formats
JavaScript Date Get Methods
JavaScript Date Set Methods
JavaScript Math
JavaScript Random
JavaScript Booleans
JavaScript Comparisons
JavaScript If Else
JavaScript Switch
JavaScript Loop For
JavaScript Loop For In
JavaScript Loop For Of
JavaScript Loop While
JavaScript Break
JavaScript Iterables
JavaScript Sets
JavaScript Set Methods
JavaScript Maps
JavaScript Map Methods
JavaScript Typeof
JavaScript Type Conversion
JavaScript Destructuring
JavaScript Bitwise
JavaScript RegExp
JavaScript Precedence
JavaScript Errors
JavaScript Scope
JavaScript Hoisting
JavaScript Strict Mode
JavaScript this Keyword
JavaScript Arrow Function
JavaScript Classes
JavaScript Modules
JavaScript JavaScriptON
JavaScript Debugging
JavaScript Style Guide
JavaScript Best Practices
JavaScript Mistakes
JavaScript Performance
JavaScript Reserved Words

JavaScript Array Const

JavaScript Array Const: const로 선언된 배열의 이해와 활용

JavaScript에서 const 키워드는 **상수(Constant)**를 선언할 때 사용되며, 이 값은 재할당이 불가능합니다. 그러나 const로 선언된 배열은 배열의 참조 값만 불변할 뿐, 배열 내부의 요소를 변경하거나 추가, 삭제하는 것은 가능합니다. 이 가이드는 const로 선언된 배열의 동작 방식과 이를 다루는 방법을 설명합니다.


1. const로 선언된 배열의 기본 개념

1.1. const 배열 선언

const로 배열을 선언하면, 배열의 참조는 변경할 수 없습니다. 즉, 배열 자체를 다른 배열로 재할당할 수 없지만, 배열의 **내용(요소)**은 변경할 수 있습니다.

const fruits = ["apple", "banana", "cherry"];

이 배열의 요소를 변경하거나 추가하는 것은 가능하지만, 배열 자체를 다른 값으로 재할당할 수는 없습니다.

1.2. 참조 불변

const로 선언된 배열을 다른 배열로 재할당하려고 시도하면 오류가 발생합니다.

const fruits = ["apple", "banana"];

// 배열 자체를 재할당하려고 하면 오류 발생
fruits = ["grape", "pear"]; // TypeError: Assignment to constant variable.

1.3. 배열의 내용 변경 가능

const로 선언된 배열의 요소를 변경하거나 추가/삭제하는 것은 가능합니다.

const fruits = ["apple", "banana", "cherry"];

// 배열의 요소를 변경
fruits[0] = "grape";
console.log(fruits); // 출력: ["grape", "banana", "cherry"]

// 배열에 요소 추가
fruits.push("orange");
console.log(fruits); // 출력: ["grape", "banana", "cherry", "orange"]

// 배열의 마지막 요소를 제거
fruits.pop();
console.log(fruits); // 출력: ["grape", "banana", "cherry"]


2. const로 선언된 배열의 활용

2.1. 배열 요소 추가 및 삭제

const로 선언된 배열에 요소를 추가하거나 삭제할 때 사용하는 메서드는 배열의 참조가 변경되지 않기 때문에 사용할 수 있습니다.

const numbers = [1, 2, 3];

// 요소 추가
numbers.push(4);
console.log(numbers); // 출력: [1, 2, 3, 4]

// 요소 제거
numbers.pop();
console.log(numbers); // 출력: [1, 2, 3]

2.2. 배열 내용 변경

배열의 특정 인덱스에 접근하여 값을 변경할 수도 있습니다.

const colors = ["red", "green", "blue"];

// 인덱스 1의 요소 변경
colors[1] = "yellow";
console.log(colors); // 출력: ["red", "yellow", "blue"]

2.3. 배열 복사 및 병합

배열을 얕은 복사하거나 병합하는 작업도 가능합니다.

const fruits = ["apple", "banana", "cherry"];

// 배열 복사
const newFruits = [...fruits]; // 스프레드 연산자를 사용한 얕은 복사
console.log(newFruits); // 출력: ["apple", "banana", "cherry"]

// 배열 병합
const tropicalFruits = ["mango", "pineapple"];
const allFruits = [...fruits, ...tropicalFruits];
console.log(allFruits); // 출력: ["apple", "banana", "cherry", "mango", "pineapple"]


3. const 배열과 let 배열의 차이점

  • const: 배열의 참조가 변경되지 않음. 배열의 요소는 수정할 수 있지만, 배열 자체를 다른 값으로 재할당할 수 없습니다.
  • let: 배열의 참조가 변경 가능. 배열 자체를 다른 배열로 재할당할 수 있으며, 요소 역시 수정 가능합니다.
// const 배열
const arr1 = [1, 2, 3];
arr1.push(4); // 가능
console.log(arr1); // 출력: [1, 2, 3, 4]
// arr1 = [5, 6, 7]; // 오류 발생

// let 배열
let arr2 = [1, 2, 3];
arr2.push(4); // 가능
console.log(arr2); // 출력: [1, 2, 3, 4]
arr2 = [5, 6, 7]; // 재할당 가능
console.log(arr2); // 출력: [5, 6, 7]


4. 주의사항

  1. 참조의 불변성: const로 선언된 배열은 참조 자체가 변경될 수 없으므로, 배열을 다른 배열로 재할당하려고 하면 오류가 발생합니다.
  2. 내용의 변경 가능성: 배열의 내부 요소를 변경하거나 추가, 삭제하는 것은 가능하므로, 배열의 내용은 불변하지 않다는 점에 유의해야 합니다.

요약

  • const 배열: 배열의 참조 자체는 불변이지만, 배열의 내용은 변경 가능.
  • 배열 요소 추가 및 삭제: push(), pop() 등의 메서드를 사용하여 배열의 요소를 추가하거나 제거할 수 있음.
  • let과 차이점: let으로 선언된 배열은 참조가 변경 가능하지만, const로 선언된 배열은 참조 자체가 불변임.

JavaScript에서 const로 배열을 선언하는 것은 배열의 참조를 보호하는 동시에, 배열의 요소를 자유롭게 수정할 수 있도록 해줍니다. 이를 적절히 활용하면 코드의 안정성을 높이면서도 유연한 배열 조작이 가능합니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com