-
javascript::배열 본문
# 배열은 자바스크립트 객체의 특별한 형태.
- C나 JAVA와 배열과 같은 기능을 하는 객체지만,
- 크기 지정 X, 데이터 타입 상관없음.
## 배열 리터럴
- 새로운 배열을 만드는 데 사용하는 표기법.
- 대괄호를 사용
1 2 3 4 | var colorArr = ['orange', 'yellow', 'blue', 'green', 'red']; console.log(colorArr[0]); //(출력값) orange console.log(colorArr[1]); //(출력값) yellow console.log(colorArr[2]); //(출력값) red |
배열 내 위치 인덱스값을 넣어서 접근.
인덱스 0부터 시작
- 객체와 같이 동적으로 배열 원소를 추가할 수 있다.
- 값을 순차적으로 넣을 필요 없다.
1 2 3 4 5 6 7 8 9 10 | var emptyArr = []; //빈 배열 생성 console.log(emptyArr[0]); //(출력값) undefined //배열 요소 동적 생성 emptyArr[0] = 100; emptyArr[3] = 'eight' emptyArr[7] = true; console.log(emptyArr); //(출력값) [100, undefined, undefined, "eight", undefined, undefined undefined, true] console.log(emptyArr.length); //(출력값) 8 | cs |
## 배열의 length 프로퍼티
- javascript의 모든 배열은 length 프로퍼티가 있다.
- 배열의 length와 배열의 원소 개수가 일치하는 것은 아니다.(바로 위의 예제 코드에서 확인 가능)
- length프로퍼티는 배열 내에 가장 큰 인덱스에 1을 더한 값.
- 배열의 length를 명시적으로 설정하는 경우 실제 메모리는 length만큼 늘어나지는 않는다.
## 배열과 객체
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | var colorsArr = ['orange', 'yellow', 'green']; console.log(colorsArr[0]); //(출력값) orange console.log(colorsArr[1]); //(출력값) yellow console.log(colorsArr[2]); //(출력값) green var colorsObj = { '0': 'orange', '1': 'yellow', '2': 'green' }; console.log(colorsObj[0]); //(출력값) orange console.log(colorsObj[1]); //(출력값) yellow console.log(colorsObj[2]); //(출력값) green //typeof 연산자 비교 console.log(typeof colorsArr); //(출력값) object (array가 아니다.) console.log(typeof colorsObj); //(출력값) object //length 프로퍼티 비교 console.log(colorsArr.length); //(출력값) 3 console.log(colorsObj.length); //(출력값) undefined //배열 표준 메서드 colorsArr.push('red'); colorsObj.push('red'); // 오류 | cs |
## 배열의 프로퍼티 동적 생성
- 배열도 자바스크립트 객체이므로, 인덱스가 숫자인 배열 원소 이외에도 객체처럼 동적으로 프로퍼티를 추가할 수 있다.
- 배열에 동적 프로퍼티가 추가될 경우, 배열의 length 값이 바뀌지 않는다.(증가하지 않는다.)
- 일반 객체처럼 'key: value' 형태로 배열 원소 및 프로퍼티 등이 있다.
##Array() 생성자 함수
- 일반적인 생성방법인 배열 리터럴도 결국 자바스크립트 기본 제공 Array()생성자함수로 배열을 생성하는 과정을 단순화시킨 것이다.
- 간단히 알아두기만 하면 될 것 같다.
- 사용법?
호출할 때 인자 개수에 따라 동작이 다르다.
* 호출할 때 인자가 1개이고, 숫자일 경우 : 호출된 인자를 length로 갖는 빈 배열 생성
* 그 외의 경우 : 호출된 인자를 요소로 갖는 배열 생성
'언어 > javascript' 카테고리의 다른 글
javascript:: ==(동등)연산자와 ===(일치) 연산자 (0) | 2018.01.04 |
---|---|
javascript::유사배열객체 (0) | 2018.01.04 |
javascript::객체 (0) | 2018.01.03 |
javascript :: prototype (0) | 2018.01.02 |
javascript의 핵심 개념 (0) | 2017.12.26 |