배열의 특징 생성

손영훈·2023년 6월 29일
post-thumbnail

자바스크립트의 배열은 다르다.

다른 언어들의 배열

  • 한 배열에는 같은 자료형의 데이터만 포함 가능
  • 데이터의 메모리 주소가 연속으로 나열됨
  • 접근은 빠름, 중간요소의 추가나 제거는 느림

자바스크립트의 배열

  • 배열의 형태와 동작을 흉내내는 특수객체
  • 한 배열에 다양한 자료형의 데이터가 들어갈 수 있음
  • 연속나열이 아님 (엔진에 따라 요소들의 타입이 동일하면 연속 배열하기도 함)
  • 접근은 상대적으로 느림 (일반 객체보다 빠름)
  • 특정 자료형 전용 배열도 있음

배열 생성 방법

1. 배열 리터럴

const arr1 = []; // 빈 배열
const arr2 = [1, 2, 3];
const arr3 = [1, , 2, , 3] // 빈 요소(undefined) 표함 배열 생성

console.log(arr1.length, arr1);
console.log(arr2.length, arr2);
console.log(arr3.length, arr3);
  • arr3의 프로퍼티들 확인

2. 생성자 함수

  • 표준 빌트인 객체들 중 하나
const arr1 = new Array(1, 2, 3);
const arr2 = new Array('ABC');
const arr3 = new Array(true);

console.log(arr1);
console.log(arr2)
console.log(arr3)
  • 인자가 숫자가 아니거나 둘 이상이라면 해당 값들로 배열 생성

3. 정적 메소드 of

// 인자가 하나의 숫자라도 이를 요소로 갖는 배열 생성
const arr1 = Array.of(3);

const arr2 = Array.of(1, 2, 3);
const arr3 = Array.of('ABC', true, null);

console.log(arr1);
console.log(arr2);
console.log(arr3);

4. 정적 메소드 from

배열, 유사배열객체, 이터러블을 인자로 받아 배열 반환

const arr1 = Array.from([1, 2, 3]);
const arr2 = Array.from('ABCDE');
const arr3 = Array.from({
  '0': true,
  '1': false,
  '2': null,
  length: 3
});

console.log(arr1);
console.log(arr2);
console.log(arr3);

유사배열객체 : length와 인덱싱 프로퍼티를 가진 객체

profile
메모장

0개의 댓글