반응형
- 자바스크립트에서의 배열은 크기를 지정하지 않아도 된다.
- 어떤 위치에 어느 타입의 데이터를 저장하더라도 에러가 발생하지 않는다.
배열 리터럴
- 자바스크립트에서 새로운 배열을 만드는 데 사용하는 표기법이다.
- [] 대괄호를 사용한다.
var Arr = ['a', 'b', 'c', 'd', 'e'];
동적으로 배열원소를 추가할 수 있다.
var Arr = [];
Arr[0] = 100;
Arr[5] = 'a';
Arr[10] = true;
console.log(Arr.length); // 10
값을 순차적으로 넣을 필요 없이 아무 인덱스 위치에 값을 추가할 수 있다.
배열의 크기는 인덱스 중 가장 큰값을 기준으로 정해진다.
(모든 배열은 length 프로퍼티를 가진다.)
*length 프로퍼티
length 프로퍼티는 명시적으로 값을 변경할 수 도 있다.
var arr = [0, 1, 2];
console.log(arr.length); // 3
arr.length = 6;
console.log(arr.length); // 6
//[0, 1, 2, undefined, undefined, undefined]
arr.length = 2; // arr[2]인 2값은 삭제된다.
console.log(arr); // 0, 1
console.log(arr[2]); // undefined
push()메소드를 통하여 새로운 원소값을 추가할 수 있다.
(배열의 크기도 늘어난다.)
배열과 객체의 차이점
var arr = ['a', 'b', 'c'];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
//a, b, c
var obj = {
'0' : 'a',
'1' : 'b',
'2' : 'c'
};
// => 프로퍼티 속성 이름이 '0', '1', '2'이다.
console.log(obj[0]); //=> 자동으로 toString으로 변환되어 obj['0']으로 인식한다.
console.log(obj[1]);
console.log(obj[2]);
//a, b, c
//typeof로 비교 => 둘다 objcet이다.
console.log(typeof arr); // object (not array)
console.log(typeof obj); // object
//length=> 객체는 length 프로퍼티가 없다.
console.log(arr.length); // 3
console.log(obj.length); // undefined
//push => 객체는 배열이 아니므로 표준 배열 메소드를 사용할 수 없다.
// 객체 리터럴 방식으로 생성한 객체는 Object.prototype 객체가 프로토타입이므로
arr.push('d'); //['a', 'b', 'c', 'd']
obj.push('d'); // Uncaught TypeError : Object #<Object> has no method 'push'
객체 -> Object.prototype
배열 -> Array
728x90
반응형
'공부 > 리액트 네이티브' 카테고리의 다른 글
리액트 네이티브 - jsx (0) | 2021.05.06 |
---|---|
리액트 네이티브 (0) | 2021.05.02 |
자바스크립트 - 정리 (0) | 2021.04.30 |
자바스크립트 - 참조타입(객체) 1 (0) | 2021.04.30 |
자바스크립트 - 기본타입 (0) | 2021.04.30 |