
배열은 값의 집합이다. 배열은 값의 순서 있는 집합이다.
배열은 변수를 지정하고
[]대괄호를 써주면 된다.
let days = ['Monday', 'Tuesday', 'Wednesday']
days
> ['Monday', 'Tuesday', 'Wednesday']
days.length
> 3
다른 프로그래밍 언어에서 배열에는 같은 타입만 올 수 있었으나, 자바스크립트에는 무관하다.
배열에 접근하는 방법은 문자열 인덱스를 찾던 방법과 크게 다르지 않다.
# 우선 배열을 생성해보자.
let days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
days
< ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
# days 배열의 3번 인덱스의 요소를 찾아보자.
days[3]
< "Thursday"
# days 배열에서 화요일을 찾아보자.
days[1]
< "Thesday"
# days 배열에서 수요일의 스펠링 중 'n'을 찾아보자.
days[2][3] // 배열의 진행방향은 왼쪽에서 오른쪽이다.
< "n"
즉, 배열에는 모든 요소에 인덱스 번호가 남겨져 있으므로 즉시 찾을 수 있다.
문자열과의 차이를 먼저 확인해보자.
# david의 'd'를 대문자 'D'로 변경하고자 할 때.
let firstName = "david";
firstName[0]
< "d"
firstName[0] = 'D'
< "D"
firstName
< "david"
단순히 이렇게 소문자를 대문자로 변경을 하고자 할 때, 문자열에선 전혀 바뀌지 않는다.
But! 배열은 어떨까?
let colors = ['rad', 'yellow', 'green']
undefined
colors[0] = 'red'
< "red"
colors
> ["red", "yellow", "green"]
특정 문자를 바꿀 수 없었던 문자열과는 다르게 배열에서는 요소를 바꿀 수 있었다.
(물론 배열에서 문자열인 요소를 숫자로 변경도 가능하다.)
- 배열은 인덱스화 되어있다.
- 모든 요소에는 상응하는 숫자가 있다.(0부터 카운트 시작)
- 최대 인덱스 값은 항상 실제 길이보다 1개 작다.
- 인덱스를 사용해 특정 요소를 찾거나 새 값을 해당 칸에 넣어줄 수 있다.