[JavaScript] 자바스크립트 객체(Object)

2019. 5. 8. 17:12JavaScript

for(value in values){ console.log(valuse[value]); }

* JS에서 Array로 데이터를 담는 것 외에 이름으로 데이터를 담을 때 Object를 사용하게된다

  • key / value로 이루어진 자료구조다
  • Object형태는 {}로 자료를 표현하고, Server<->Client 간 데이터 교환 시 Object포맷과 비슷한 방법으로 데이터를 보낸다 (JSON포맷으로 통신을 많이 한다)

데이터의 index 순서대로 저장하고 싶을 때 -> Array

어떠한 key값을 기반으로 동작하는 자료구조 -> Object

 

Object선언

var obj = {name: "Paul", age: 27}

console.log(obj.name); // output: Paul
consol.log(obj["age"]); //output: 27

 

Object에 추가/ 삭제

// 데이터 삽입
obj["job"] = "developer"
console.log(obj);
// {name: "Paul", age: 27, job: "developer"}


// 데이터 삭제
delete obj.job
delete obj["job"];
console.log(obj);
// {name: "Paul", age: 27}

 

Object에 순회

Array에서 forEach / for...of 와 같은 반복문을 사용할 수 있었지만 애석하게 Object에서는 사용할 수 없다. 대신 for...in을 통해 객체의 key나 value에 접근하며 순회할 수 있다.

 

 

for...in

var object = {"name": "Jin", data:[1,2,3,4], num: 45};
for(value in object){
	console.log(object[value]);
}
/* value값 출력
Jin
[1,2,3,4]
45
*/

for(key in object){
	console.log(key);
}

/* key값 출력
name
data
num
*/

 

forEach, for...of는 Map, Set 같은 iterator(반복자)에서 사용 가능하다.

iterator(반복자)는 iterable(순회 가능한 자료구조)를 탐색할 수 있는 객체. next()라는 함수로 반복을 수행한다.

Object는 key : value의 형태로 있으므로 iterable하지 않다.

 

[ edwith - 웹프로그래밍 부스트코스 ] 를 개인적으로 공부하고 정리한 공간입니다. 잘못된 부분은 피드백 주시면 감사하겠습니다