Array() 생성자
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