Array() 생성자

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Array() 생성자는 새로운 Array 객체를 생성할 때 사용합니다.

구문

js
new Array()
new Array(element0)
new Array(element0, element1)
new Array(element0, element1, /* …, */ elementN)
new Array(arrayLength)

Array()
Array(element0)
Array(element0, element1)
Array(element0, element1, /* …, */ elementN)
Array(arrayLength)

참고: Array()new를 붙이거나 붙이지 않고 호출할 수 있습니다. 둘 다 새 Array 인스턴스를 생성합니다.

매개변수

elementN

JavaScript 배열은 주어진 요소로 초기화되지만, 단일 인수가 Array 생성자에 전달되고, 그 인수가 숫자인 경우는 예외입니다(아래 arrayLength 매개변수 참조). 이 특수한 경우는 대괄호 구문으로 만들어진 배열 리터럴이 아닌 Array 생성자로 만들어진 JavaScript 배열에만 적용된다는 점에 유의하세요.

arrayLength

Array 생성자에 전달된 유일한 인수가 0에서 232 - 1(포함) 사이의 정수인 경우, length 속성이 해당 숫자로 설정된 새 JavaScript 배열을 반환합니다(참고: 이는 실제 undefined 값을 가진 슬롯이 아닌 arrayLength 길이의 빈 슬롯 배열을 의미합니다. 희소 배열참조).

예외

RangeError

숫자인 인자(arrayLength)가 하나뿐이지만, 그 값이 정수가 아니거나 0에서 232 - 1 (포함) 사이가 아닌 경우 발생합니다.

예제

배열 리터럴 표기법

배열은 리터럴 표기법 (en-US)으로 생성할 수도 있습니다.

js
const fruits = ["사과", "바나나"];

console.log(fruits.length); // 2
console.log(fruits[0]); // "사과"

단일 매개변수 배열 생성자

단일 숫자 매개변수가 있는 생성자를 사용하여 배열을 만들 수 있습니다. 배열은 length 속성이 해당 숫자로 설정되어 생성되며, 배열 요소는 빈 슬롯입니다.

js
const arrayEmpty = new Array(2);

console.log(arrayEmpty.length); // 2
console.log(arrayEmpty[0]); // undefined이지만, 사실 빈 슬롯입니다.
console.log(0 in arrayEmpty); // false
console.log(1 in arrayEmpty); // false
js
const arrayOfOne = new Array("2"); // 숫자 2가 아니라 문자열 "2"

console.log(arrayOfOne.length); // 1
console.log(arrayOfOne[0]); // "2"

복수 매개변수 배열 생성자

생성자에 두 개 이상의 매개변수를 제공한 경우, 매개변수를 원소로 하는 새로운 Array를 생성합니다.

js
const fruits = new Array("사과", "바나나");

console.log(fruits.length); // 2
console.log(fruits[0]); // "사과"

명세서

Specification
ECMAScript Language Specification
# sec-array-constructor

브라우저 호환성

BCD tables only load in the browser

같이 보기