처음부터 차근차근

객체 메소드 본문

Language/JavaScript

객체 메소드

HangJu_95 2023. 5. 24. 22:00
728x90

객체 Object

 - 하나의 변수에 여러 개의 값을 넣을 수 있다.

 - key - value pair

 

1) 기본적인 객체 생성 방법

속성과 값을 콜론(:)으로 구분하여 작성한다.

// 1-1. 기본적인 객체 생성 방법
let person = {
    name: "홍길동",
    age: 30,
    gender: "남자"
  };

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

// 1-2. 생성자 함수를 이용한 객체 생성 방법
function Person(name, age, gender) {
    this.name = name;
    this.age = age;
    this.gender = gender;
  };
// 여러개의 객체를 생성 할 수 있다.
let person1 = new Person("홍길동", 30, "남자");
let person2 = new Person("홍길순", 25, "여자");

여러개의 객체를 생성할 수 있다.

 

3) 접근하는 방법

// 2.접근하는 방법
console.log("1",person.name);   // "홍길동"
console.log("2",person.age);    // 30
console.log("3",person.gender); // "남자"

객체.속성을 통해 해당 값을 출력할 수 있다.

 

4) keys 메소드

key를 다 가져오는 메소드

// 3-1object.keys()
// key를 다 가져오는 메소드
let keys = Object.keys(person);

console.log(keys);   // ["name", "age", "gender"]

5) values 메소드

value를 다 가져오는 메소드

// 3-2 values

let values = Object.values(person);

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

 

6) entries 메소드

key와 value를 묶어서 배열로 만들기

// 3-3 entries
// key와 value를 묶어서 배열로 만들기! (2차원 배열)

let entries = Object.entries(person); // [ [ 'name', '홍길동' ], [ 'age', 30 ], [ 'gender', '남자' ] ]

console.log(entries);

 

7) assign 메소드

객체를 복사하며, {} 입력값을 통해 변경할 수 있다.

// 3-4 assign
// 객체를 복사한다. (입력값만 변경할 수 있다.)

let newPerson = Object.assign({}, person, { age: 35 }); // age 속성을 35로 변경해줘.

console.log(newPerson);   // { name: "홍길동", age: 35, gender: "남자" }

8) 객체 비교

 

// 3-5 객체 비교
// 객체 크기가 상당히 크다! => 메모리에 저장할 때 별도의 공간에 저장
// person1 별도 공간에 대한 주소

let person3 = {
    name: "홍길동",
    age: 30,
    gender: "남자"
  };

// person2 별도 공간에 대한 주소  
let person4 = {
    name: "홍길동",
    age: 30,
    gender: "남자"
  };

// 객체를 비교할 때는 일반적으로 === 연산자로 사용할 수 없다.
// === 로 비교하면, 주소를 비교하기 때문에 다르다고 나온다!
console.log(person1 === person2);   // false

//JSON.stringify() => 문자열화를 통해 비교하면 true로 나온다.
console.log(JSON.stringify(person1) === JSON.stringify(person2));   // true

 

9) 객체 병합

 

// 3-6 객체 병합
let person5 = {
    name: "홍길동",
    age: 30
  };
 
let person6 = {
    gender: "남자"
  };
 
let mergedPerson = {...person3, ...person4};
 
  console.log(mergedPerson);   // { name: "홍길동", age: 30, gender: "남자" }

 

 

 

'Language > JavaScript' 카테고리의 다른 글

ES6 문법  (1) 2023.05.25
배열, 배열 메소드  (1) 2023.05.24
조건문, 반복문  (1) 2023.05.24
함수와 Scope  (0) 2023.05.22
연산자  (0) 2023.05.22