Javascript

[Javascript] 객체(Object)

emmaOH! 2024. 5. 18. 09:45

🌱 정의

 

객체란?

키(key) : 값(value)의 형태로 이루어진 값들의 집합

객체 안에 존재하는 키:값 형태의 쌍 전체를 프로퍼티(property, 속성)이라고 부릅니다. 

 


🌱 생성

 

객체는 두 가지 방법으로 생성할 수 있습니다. 

방법 1) 생성자(new 키워드)를 사용
방법 2) 리터럴을 사용

 

예를 들어, 아래와 같은 코드가 있을 때

// 방법 1) 생성자
let object1 = new Object();

// 방법 2) 리터럴
let object2 = {
	name: "emma",
    age: 1004,
};

방법 1은 생성자를 활용한 방법으로 일단 빈 객체를 선언한 뒤에 필요한 프로퍼티를 추가합니다.

방법 2는 {key:value} 형식으로 객체 생성과 동시에 프로퍼티를 할당합니다. 

 


🌱 접근

 

객체는 두 가지 방법으로 접근할 수 있습니다.

방법 1) object.key 형태의 점 표기법
방법 2) object["key"] 형태의 대괄호 표기법

 

예를 들어, 아래와 같은 코드가 있을 때

let person = {
	name: "emmaOH!",
    age: 1004,
};

// 방법 1) 점 표기법
let nameWithDot = person.name;
console.log(nameWithDot);

// 방법 2) 대괄호 표기법
let nameWithStr = person["name"];
console.log(nameWithStr);

두 변수는 모두 name 프로퍼티를 가리키며 동일하게 emmaOH!가 출력됩니다.

 

추가로 특정 key의 value값을 바꾸고 싶다면 위에서 본 접근법을 활용하면 됩니다.

let person = {
	name: "emmaOH!",
    age: 1004,
};

// 점 표기법
person.age = 20;

// 대괄호 표기법
person["age"] = 20;

 


🌱 추가

객체에 새로운 프로퍼티를 추가하는 것은 아주 간단합니다.

 

예를 들어, 이미 생성된 객체에 hobby라는 값을 추가하고 싶다면

let person = {
	name: "emmaOH!",
    age: 1004,
};

// 점 표기법
person.hobby = "movie";

// 대괄호 표기법
person["hobby"] = "movie";

// 결과
/*
let person = {
	name: "emmaOH!",
    age: 1004, 
    hobby: "movie",
};
*/

추가하고 싶은 키값으로 객체에 접근하여 새로운 value를 적어주면 됩니다.

 

참고로 존재하지 않는 키값에 접근한다면 해당 키는 undefined를 반환하게 됩니다.(null 아님)

 


🌱 삭제

객체의 프로퍼티를 삭제하기 위해 delete라는 연산자를 사용합니다.

 

예를 들어, age라는 키값을 삭제하고 싶다면

let person = {
	name: "emmaOH!",
    age: 1004, 
    hobby: "movie",
};

// 점 표기법
delete person.age;

// 대괄호 표기법
delete person["age"];

// 결과
/*
let person = {
	name: "emmaOH!",
    hobby: "movie",
};
*/

delete 연산자와 함께 삭제하고 싶은 키값으로 객체에 접근하면 됩니다.

 


읽어주셔서 감사합니다:)