본문 바로가기

JavaScriprt-문법

JavaScript 문법 종합반 문법-객체

객체

객체의 생성 방법

기본적인 객체 생성 방법

let person = {

     name : "홍길동",

     age : 30,

     gender : "남자",

}

생성자 함수를 이용한 객체 생성 방법

funtion Person(name, age, gender,){

    this.name = name; 

    this.age = age; 

    this.gender = gender; 

}

let person1 = new Person("홍길동", 30, "남자"); 

let person2 = new Person("홍길순", 20, "여자"); 

 

접근하는 방법

console.log(person.name);  = 홍길동

console.log(person.age);  = 30

console.log(person.gender);  = 남자

console.log("1", person.name);  =1 홍길동

console.log("2", person.age);  = 2 30

console.log("3", person.gender);  =3 남자

 

객체 메소드

object.key() : key를 가져오는 메소드

let person = {

     name : "홍길동",

     age : 30,

     gender : "남자",

}; 

 

let keys  = Object.keys(person); 

console.log("keys =>", keys); = keys => ['name', 'age', 'gender' ]

 

object.values() : values를 가져오는 메소드

let values  = Object.values(person); 

console.log("values =>", values); = values => ['홍길동',  30, '남자' ]

 

object.entries() : key와 values를 묶어서 배열로 만든 배열 (2차원 배열)

let entries  = Object.entries(person); 

console.log("entries =>", entries); = entries =>[ ['name', '홍길동'], [ 'age', 30], ['gender', '남자'] ]

 

assign : 객체 복사

let newPerson  = {}

Object.assign(newPerson, person); 

console.log("newPerson =>", newPerson); = newPerson=>{name : '홍길동', age : 30, gender : '남자'}

 

Object.assign(newPerson, person, {age :31}); 

console.log("newPerson =>", newPerson); = newPerson=>{name : '홍길동', age : 31, gender : '남자'}

 

Object.assign(newPerson, person, {gender : "여자"}); 

console.log("newPerson =>", newPerson); = newPerson=>{name : '홍길동', age : 30, gender : '여자'}

 

객체 비교

//객체는 크기가  상당히 크다 => 메모리에 저장할 때 별도의 공간에 저장한다.//

//별도의 저장공간 주소에 person1 저장.//

let person1 = {

     name : "홍길동",

     age : 30,

     gender : "남자",

}; 

//별도의 저장공간 주소에 person2 저장.//

let person2 = {

     name : "홍길동",

     age : 30,

     gender : "남자",

}; 

console.log(person1===person2) = false

//String은 크기가 작기 때문에 같은 저장공간에 저장.//

console.log("aaa"==="aaa")= true

 

console.log(JSON.stringify(person1) === JSON.stringify(person2))= true

 

객체 병합

let person1 = {

     name : "홍길동",

     age : 30,

}; 

 

let person2 = {

     gender : "남자",

}; 

//String은 크기가 작기 때문에 같은 저장공간에 저장.//

let PerfectMan= {...person1, ...person2}; 

console.log(PerfectMan)={name : '홍길동', age : 30, gender : '남자'}