Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트(JavaScript)에서 배열을 비우는 3가지 방법

자바스크립트에서 배열을 비우거나 초기화하는 방법은 여러 가지가 있습니다. 각 방법마다 동작 방식과 장단점이 다르기 때문에, 상황에 맞게 적절한 방법을 선택하는 것이 중요합니다. 예시를 위해 다음과 같이 배열이 정의되어 있다고 가정해 보겠습니다.

let arr = [1, 'test', {}, 123.43];

1. 새로운 배열로 대체하기

arr = [];

변수에 빈 배열을 새로 할당하는 이 방법은 가장 빠른 성능을 보여줍니다. 원본 배열을 참조하는 다른 코드가 없다면 이 방법이 가장 이상적입니다. 하지만 다른 곳에서 원본 배열을 참조하고 있다면, 그 참조들은 자동으로 업데이트되지 않고 계속해서 기존의 오래된 배열을 가리키게 되므로 주의해야 합니다.

2. length 속성을 0으로 설정하기

arr.length = 0;

배열의 length 속성을 0으로 설정하면 기존 배열의 모든 요소가 즉시 제거됩니다. 실행 속도가 빠른 솔루션이지만, 이 방식은 배열 내부의 객체들을 메모리에서 완전히 해제하지 못할 수 있어 메모리 관리 측면에서 잠재적인 부담이 될 수 있습니다. 배열 안의 객체를 메모리에서 확실히 정리하려면 명시적으로 제거해 주어야 합니다.

3. splice() 메서드로 전체 배열 비우기

arr.splice(0, arr.length);

splice() 메서드를 사용하면 시작 인덱스 0부터 배열 끝까지의 모든 요소를 한 번에 제거할 수 있습니다. 이 방법은 새로운 배열을 만드는 것이 아니라 원본 배열 자체를 직접 정리한다는 점에서 의미가 있습니다. 따라서 다른 곳에서 해당 배열을 참조하고 있더라도, 모든 참조가 함께 비워진 배열을 바라보게 됩니다.

어떤 방법을 선택해야 할까?

세 가지 방법의 특징을 정리하면 다음과 같습니다.

  • 새 배열 대체 (arr = []) : 속도가 가장 빠르며, 원본 배열에 대한 외부 참조가 없을 때 적합합니다.
  • length = 0 : 기존 배열 인스턴스를 유지하면서 빠르게 비울 수 있는 간결한 방법입니다.
  • splice() : 원본 배열을 직접 수정하면서 모든 참조에 변경 사항을 반영하고 싶을 때 사용합니다.

프로젝트의 구조와 배열이 참조되는 범위를 고려하여 가장 적합한 방법을 선택하시기 바랍니다.