배열
이하와 같은 형태로 사용한다.
var array1 = new Array(3);
var array2 = new Array("foo", "bar", "baz");
var array3 = ["abc", "def", "xyz"];
array2[0] = "123";
alert(array3[2]);
배열은 오브젝트와 달리 이하 특별한 프로퍼티를 가지고 있음 바꿔말하면 그 외의 것들은 오브젝트와 같다
- length: 배열 인덱스+1을 리턴함 해당값을 바꾸면 배열의 사이즈도 바뀌게됨
- pop() : 배열의 끝을 삭제하고 삭제한 요소를 리턴함
- push(value, …) : 배열끝에 해당값을 추가
- shift() : 배열의 첫행의 값을 삭제하고 삭제한 요소를 리턴
- unshift(value, …) : 배열의 첫행에 값을 추가
- etc(그외에도 있지만 생략)
자바스크립트의 객체는 곧 배열인 증거
1. 객체안에 메소드는 없다.
객체의 메소드는 객체 안에 존재하지 않는다.
메소드를 소유한 parent 객체는 객체에 포함된 메소드들의 참조값만을 가지고 있다.
즉 메소드들 자체도 각각 개별 객체로서 존재
한다.
2. Object Notation
JSON의 key, value 방식의 객체 리터럴 구조는 배열 구조와 동일 하다.
JSON의 표현방식은 [] 라는 Array 표현의 다른 방식일 뿐이다.
실제로 객체의 프로퍼티 생성이나 참조에서 . 연산자가 아닌 []를 사용 할수도 있다.
var foo = { name: "foo" };
console.log(foo["name"]); //foo
console.log(foo.name); //foo
정리
객체는 자기 자신을 이루는 요소들을 저장한 배열들의 집합체이고 이들은 chain이라는 연결 구조를 가지고 있다.
Reference Link:
https://qiita.com/yoshi389111/items/245df2d642e49d2acf3a http://insanehong.kr/post/javascript-object/