그 외/Javascript

[Javascript] 객체(Object)

poppy 2020. 12. 24. 18:47
반응형
객체(Object)란?
- 키(Key)와 값(Value)로 이루어진 덩어리를 말합니다
- 예를 들면 var person = { name: 'Kim', age: '20'} 에서 객체는 person입니다.
- 키와 값은 키 : 값 으로 표현합니다.
- 배열은 순서가 있지만 객체는 순서가 없습니다.
- 값을 가져올 때는 객체명[키], 객체명.키로 가져옵니다. ex) person['name'], person.name

배열과 객체

//배열
var members = ['egoing', 'k8805', 'hoya'];
console.log(members[1]); // k8805
var i = 0;
while(i < members.length){
  console.log('array loop', members[i]);
  i = i + 1;
}

//객체
var roles = {
  'programmer':'egoing',
  'designer' : 'k8805',
  'manager' : 'hoya'
}
console.log(roles.designer); //k8805
console.log(roles['designer']); //k8805
 
for(var n in roles){
  console.log('object => ', n, 'value => ', roles[n]);
}

배열은 인덱스를 통해 값에 접근하지만 객체는 키를 통해 값에 접근할 수 있습니다.

 

객체와 값으로서의 함수

var f = function(){ 
    console.log(1+1);
    console.log(1+2);
  }
f();
var a = [f];
a[0]();
   
var o = {
    func:f
}
o.func();

함수는 값이 될 수 있습니다. 함수를 변수에 넣을 수 있으면 값이 됩니다. 함수를 값으로 사용하면 객체의 값으로 사용할 수 있습니다. func:f 에서 함수를 값으로 사용했습니다. o.func()로 키를 통해 값에 접근하면 값인 함수에 접근할 수 있습니다.

 

데이터와 처리 방법을 담는 객체

var q = {
    v1:'v1',
    v2:'v2',
    f1:function (){
      console.log(this.v1);
    },
    f2:function(){
      console.log(this.v2);
    }
  }
   
q.f1();
q.f2();

데이터와 처리방법을 객체에 담아서 처리하면 좀 더 효율적으로 데이터를 관리할 수 있습니다. this.v1은 q.v1과 같습니다. 

반응형