[JS] 기본 문법 [ 객체(Object) ]

황태규·2024년 1월 6일

JS

목록 보기
5/6


출처 : https://www.iplocation.net/javascript

4. 객체 기초

객체와 객체 메소드

자바스크립트에서는 객체(Object)를 사용하여 여러 개의 값을 하나의 변수에 담고 관리할 수 있습니다. 이번에는 자바스크립트의 객체와 객체 메소드에 대해서 알아보겠습니다.

1. 객체 생성

1-1. 기본적인 객체 생성

객체를 만들 때는 중괄호({})를 사용하며, 속성과 값을 콜론(:)으로 구분하여 작성합니다. 각 속성과 값은 쉼표(,)로 구분합니다.

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

위의 예제에서는 객체 person을 생성합니다. person에는 name(홍길동), age(30), gender(남자)가 들어가 있습니다.

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, "여자");

위의 예제에서는 생성자 함수 Person()을 사용하여 객체 person1과 person2를 생성합니다.

2. 객체 속성 접근

객체의 속성에 접근할 때는 점(.)을 사용하여 속성 이름을 입력합니다.

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

console.log(person.name);   // "홍길동"
console.log(person.age);    // 30
console.log(person.gender); // "남자"

위의 예제에서는 객체 person의 속성에 접근하여 값을 출력합니다.

3. 객체 메소드

3-1. Object.keys() 메소드

Object.keys() 메소드는 객체의 속성 이름을 배열로 반환합니다.

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

let keys = Object.keys(person);

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

위의 예제에서는 Object.keys() 메소드를 사용하여 객체 person의 속성 이름을 배열로 반환합니다.

3-2. Object.values() 메소드

Object.values() 메소드는 객체의 속성 값들을 배열로 반환합니다.

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

let values = Object.values(person);

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

위의 예제에서는 Object.values() 메소드를 사용하여 객체 person의 속성 값들을 배열로 반환합니다.

3-3. Object.entries() 메소드

Object.entries() 메소드는 객체의 속성 이름과 속성 값들을 2차원 배열로 반환합니다.

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

let entries = Object.entries(person);

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

위의 예제에서는 Object.entries() 메소드를 사용하여 객체 person의 속성 이름과 속성 값들을 2차원 배열로 반환합니다.

3-4. Object.assign() 메소드

Object.assign() 메소드는 기존 객체를 복사하여 새로운 객체를 만듭니다.

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

let newPerson = Object.assign({}, person, { age: 35 });

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

위의 예제에서는 Object.assign() 메소드를 사용하여 새로운 객체 newPerson을 만듭니다.

3-5. 객체 비교

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

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

console.log(person1 === person2);   // false
console.log(JSON.stringify(person1) === JSON.stringify(person2));   // true

위의 예제에서는 두 개의 객체를 생성하고, 객체 비교를 합니다. 객체를 비교할 때는 일반적으로 === 연산자를 사용할 수 없습니다. 대신 JSON.stringify() 함수를 사용하여 객체를 문자열로 변환한 후, 문자열 비교를 합니다.

3-6. 객체 병합

let person1 = {
  name: "홍길동",
  age: 30
};

let person2 = {
  gender: "남자"
};

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

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

위의 예제에서는 객체 병합을 합니다. 객체 병합을 할 때는 전개 연산자(...)를 사용합니다.

profile
응애

0개의 댓글