[JS] 객체


배열과 차이점


객체 생성 1. 리터럴 방식

var obj = {
   property_1 : 'value_1', // 문자열
   property_2 : 20, // 숫자
   property_func : function(){ // 함수
      return null;
   },
   property_data : { // 객체
      property_data_1 : 1,
      property_data_2 : 2,
   }
}

// 객체의 프로퍼티에 접근 하는 방법1
console.log(obj.property_1); // 'value_1'
console.log(obj.property_2); // 20
console.log(obj.property_func()); // null
console.log(obj.property_data.property_data_1); // 1
console.log(obj.property_data.property_data_2); // 2

// 객체의 프로퍼티에 접근 하는 방법2
console.log(obj["property_1"]); // 'value_1'
console.log(obj["property_2"]); // 20
console.log(obj["property_func"]); // null
console.log(obj["property_data[property_data_1]"]); // 1
console.log(obj["property_data[property_data_2]"]); // 2


var grades = {'shinninja-1': 10, 'sorialgi': 80};

// 객체의 프로퍼티에 접근 하기
console.log(grades['shinninja-1']); // 10
console.log(grades['sori' + 'algi']); //문자열이기 때문에 이렇게 해도 같은 결과값이 나온다.


객체 생성 2. Object 생성자 함수 방식

var obj = new Object();

obj.property1 = 'value_1';
obj.property2 = 20;


객체 생성 3. 사용자 정의 생성자 함수 방식

// 1. 생성자 함수 생성
function Obj(property1, property2){
   this.property1 = property1;
   this.property2 = property2;
}

// 2. 'new' 키워드를 이용하여 객체 인스턴스를 생성한다.
var obj1 = new Obj("string", 0); // 매개변수에 값을 넣어 obj1 객체를 생성한다.
var obj2 = new Obj("string2", 1); // 매개변수에 값을 넣어 obj2 객체를 생성한다.


출처 : 블로그1, 블로그2