1. 자바스크립트 배열 이란?
ㅇ 자바스크립트는, 명시적인 배열 자료형이 없고, 자바스크립트 객체의 일종으로 취급됨
- 例) typeof arr; // typeof 연산자 결과가 `object` 로 나타남
ㅇ 즉, 특화시킨 객체형 배열로 취급됨
- `Array 객체`로써, 배열의 기능을 가상으로 흉내낸 것임
2. 자바스크립트 배열의 특징
ㅇ 배열 요소에 어떤 타입의 데이터형도 가능
- 한편, 배열 및 객체 내 요소는 모두, 어떤 데이터타입도 가능
ㅇ 동적으로 크기 조절도 가능 (가변 객체, Mutable)
- 다만, 배열은, 크기(length) 프로퍼티 있지만,
- 객체의 경우는, length 프로퍼티 없음
ㅇ 요소가 순서대로 저장
- 배열은, 순서로써 접근 가능하지만,
- 객체는, 순서없이 키로 만 접근됨
3. 자바스크립트 배열의 생성
ㅇ [] 배열 리터럴을 이용하는 방법
- var arr = [1,2,3,4,5]; (권장)
ㅇ new Array 생성자 함수를 이용하는 방법
- var arr = new Array(1,2,3,4,5); (비 권장)
. var arr = new Array(5); 이면, 길이 5개 만큼 빈 배열을 생성 (모호)
. var arr = new Array(5,2); 이면, [5,2] 라는 배열을 생성
ㅇ (ES6부터 도입)
- Array.of() : 전달된 인수를 요소로 갖는 배열을 생성
. var arr = Array.of(5); => [5]
- Array.from() : 유사배열객체 또는 이터러블객체를 인수로 전달받아 배열로 변환시켜 배열 생성
. Array.from({length:2,0:'1',1:'2'}); => ['1','2']
. Array.from('string'); => ['s','t','r','i','n','g']
4. 자바스크립트 배열의 접근
ㅇ 배열 접근 : `0` 번째 요소 arr[0], `1` 번째 요소 arr[1] 등
5. 자바스크립트 배열 객체(Array 객체)`의 메소드,프로퍼티
ㅇ 자바스크립트는, 명시적인 배열 자료형이 없으나,
- 배열 취급에 특화된 다양한 메소드,프로퍼티들이 있음
ㅇ Array 객체의 메소드들 ☞ 자바스크립트 배열 메소드 참조
- filter(),find(),forEach(),join(),push(),slice(),shift(),sort() 등
. (대부분, Array.prototype 메서드에 정의됨)
ㅇ Array 객체의 프로퍼티들
- length 프로퍼티 : 배열 요소의 개수 (배열 크기)
. 例) 배열 끝에 원소의 추가 : arr[arr.length] = 추가원소;
. 例) 배열 크기 조정 : arr.length = 크기값;
. 例) 배열 최대 크기 한계 : 4,294,967,295개