객체(Object)란 자바스크립트의 객체는 키(key)과 값(value)으로 구성된 프로퍼티(Property)들의 집합이다.
프로퍼티가 없는 빈 객체도 존재한다.
// 빈 객체 obj 생성
var obj = {}
프로퍼티 : 키와 값으로 구성
// Object obj
var obj = {
"key" : "value", // 프로퍼티의 키는 "key"이고 값은 "value" 이다.
name : "이름" // 프로퍼티의 키는 name이고 값은 "이름"이다
}
객체 생성
// 기본적인 객체 생성 방법
var person = {
name : "ㅇㅇㅇ",
age : 30
};
// 생성자 함수를 이용한 객체 생성 방법
function Person(name,age) {
this.name = name;
this.age = age;
};
var person = new Person("ㅇㅇㅇ",30);
// 여러번 생성하기 편하다
var person2 = new Person("ㄱㄱㄱ",10);
var person3 = new Person("ㄴㄴㄴ",20);
var person4 = new Person("ㄷㄷㄷ",30);
객체 안의 있는 key값들을 순회하는 방법
for(var key in obj ) {
// console.log(key);
}
객체안의 내용을 배열형태로 받아오는 방법
keys , values , entries
var keys = Object.keys(person);
console.log(keys);

var values = Object.values(person);
console.log(values);

var entries = Object.entries(person);
console.log(entries);

객체 복사 assing
var newPerson = {};
console.log(newPerson);
Object.assign(newPerson,person); // 복사해서 넣을 곳 , 복사할 대상 순으로 입력
console.log(newPerson);

빈 object에서 person과 같은 내용이 담겨진 것을 확인 할 수 있다.
복사하면서 다른 값을 넣고 싶은 경우
var newPerson = {};
Object.assign(newPerson,person, {name : "ㄱㄱㄱ"} );
console.log(newPerson);

객체를 복사하는 또다른 방법
var stringPerson = JSON.stringify(person); // string으로 obj내용이 저장
console.log(stringPerson);
var objectPerson = JSON.parse(stringPerson); // object로 string을 변환
console.log(objectPerson);

결과 적으로 objectPerson은 person와 모양이 같은 객체가 되었다.
객체의 {}를 없애고 안의 내용만 가지고 오고 싶을때 사용하는 명령어 ...
var testobj = {"하나":"1", "셋":"3"};
console.log("testobj");
console.log(testobj);
var testobj2 = {testobj}; // testobj2객체 안에 객체testobj가 들어감
console.log("testobj2");
console.log(testobj2);
var testobj3 = {...testobj}; // testobj3객체 안에 객체testobj의 내용이 들어감
console.log("testobj3");
console.log(testobj3);
var testobj4 = {"둘":"2"};
console.log("testobj4");
console.log(testobj4);
// testobj5객체 안에 객체testobj의 내용과 객체testobj4의 내용이 들어감
var testobj5 = {...testobj,...testobj4};
console.log("testobj5");
console.log(testobj5);

'Language > javascript' 카테고리의 다른 글
| [JavaScript] destructuring (0) | 2023.10.14 |
|---|---|
| [JavaScript] function (0) | 2023.10.14 |
| [JavaScript] array / push, pop, shift, unsift, splice, slices, foreach, map, filter, find (0) | 2023.10.13 |
| [JavaScript] 반복문 for문, 반목분 while문, break, continu (1) | 2023.10.13 |
| [JavaScript] 블록문, 조건문 if문, 조건문 switch문 (1) | 2023.10.13 |