유용한 메서드를 많이 가진 강력한 데이터 타입.
일반적인 객체와 달리 배열 콘텐츠에는 항상 순서가 있고, 키는 순차적인 숫자.
자바스크립트 배열은 특수한 객체.
배열은 기능이 추가된 특수한 객체이므로 배열에 숫자가 아닌 키나 분수, 음수 등을 키로 사용은 가능하나, 배열의 설계 목적에 어긋날 뿐만 아니라 혼란스러운 동작과 찾기 어려운 버그를 초래할 수 있으므로 피해야 합니다.
자바스크립트의 배열 리터럴은 대괄호 안에 배열 요소를 쉼표로 구분해서 사용.
const a1 = [1, 2, 3, 4]; // 숫자로 구성된 배열.
const a2 = [1, 'two', 3, null]; // 여러 가지 타입으로 구성된 배열.
const a3 = [ // 여러 줄로 정의한 배열
"What the hanner? What the chain?",
"In what furnace was thy brain?",
"What the anvil? What dread grasp",
"Dare its deadly terrors clasp?",
];
const a4 = [ // 객체가 들어있는 배열
{ name: "Ruby", hardness: 9 },
{ name: "Diamond", hardness: 10 },
{ name: "Topaz", hardness: 8 },
];
const a5 = [ // 배열이 들어있는 배열
[1, 3, 5],
[2, 4, 6],
];
배열의 length 프로퍼티 : 요소 숫자를 반환.
const arr = ['a', 'b', 'c'];
arr.length; // 3
배열 요소에 접근할 때 : 대괄호 안에 요소의 인덱스 숫자.
const arr = ['a', 'b', 'c'];
// 첫번째 요소 가져오기.
arr[0]; // 'a'
// arr의 마지막 요소의 인텍스는 arr.length-1.
arr[arr.length - 1]; // 'c'
배열 요소의 값을 덮어쓸 때 : 새 값을 할당하면 됨.
할당할 때 배열 길이나 그보다 큰 인덱스를 사용하면 배열 크기가 그에 맞게 늘어납니다.
const arr = [1, 2, 'c', 4, 5];
arr[2] = 3; // arr은 이제 [1, 2, 3, 4, 5].