배열은 아래 두가지 방법으로 생성할 수 있다.
new Array(1,2,3);
[1,2,3];
두가지 방법에 차이는 없으므로 더 간단한 두번째 방법이 좋다고 생각된다. 참고로 C나 자바같은 다른 언어에서와 달리 중괄호({})가 아닌 대괄호로 ([]) 배열을 생성한다.
각 배열 요소의 접근방법은 다른 언어에서와 동일하다. 참고할 만한 점은 length 요소이다.length 요소에 정수값을 할당하면 실제로 배열 길이가 조정된다. 아래 코드를 실행해 보면 결과를 확인할 수 있다.
var arr = [1,2,3,4];
console.log(arr[3]);
arr.length = 3;
console.log(arr[3]);
arr.length = 4;
console.log(arr[3]);
2. 객체
객체는 아래 두가지 방법으로 생성할 수 있다.
var obj = new Object();
console.log(obj);
obj = {a: 1, b: 2};
console.log(obj);
1) 기존 선언되어있는 클래스(생성함수)를 이용하여 생성할 수 있다. 이 때는 new 연산자를 사용하게 된다.
2) 중괄호를 사용해 객체를 생성할 수 있다.
다른 언어에서와 달리 자바스크립트에서는 기존 생성되어있는 객체에도 속성이나 메서드를 추가할 수 있다.
var obj = {a: 1, b: 2};
console.log(obj);
obj.c = 3;
obj.sayHello = function (name) {
console.log("Hi, " + name);
}
console.log(obj);
위 코드를 실행시켜 확인할 수 있듯이 단순히 없는 속성에 값을 할당하기만 하면 속성이 생긴다. 이런 특성은 변수 선언과 동일하다. 불편한 점은 기존에 있던 속성이나 메서드를 사요하려 했을 때 오타가 발생하면 새로운 속성이 생기고 오타에 대한 체크가 바로 되지 않아 한참 헤멜 수도 있다. 오타를 조심해야 한다.