자바스크립트(javascript)/개념

object(객체) - 자바스크립트 객체

Doo Hee 2023. 8. 24. 23:05
Document

📝정리

object(객체)

{ }를 이용하여 선언하며 key: value의 쌍으로 이루어져 있다.

객체에는 키값뿐만 아니라 함수도 선언할 수 있는데, 이때 객체 안에 정의된 함수를 메서드(method)라고 부른다.

// 객체 선언
let 객체이름 = {
    key: value;
    key: value;
    key: value;
    함수 이름: function () {
        return 반환할 값;
    }
};

 

객체 안의 key에 해당하는 value를 알고싶다면 두가지 형태로 호출할 수 있다.

console.log(객체 이름.name);
console.log(객체 이름['name']);

 

변수를 key나 value에 넣는 것도 가능하다. key에 변수를 넣을려면 대괄호[ ]를 이용해 안에 변수를 넣어주면 된다. value의 경우 그냥 변수를 적어주면 된다.

const nameKey = 'name';
const nameValue = '안유진';

const groupKey = 'group';
const groupValue = '아이브';

const yuJin = {
    [nameKey]: nameValue,
    [groupKey]: groupValue,
}

 

존재하지 않는 키값을 넣어주면 객체에 새로운 키값으로 생성이 되기도 하며, delete 키워드를 통해 키값을 삭제할 수도 있다.

yuJin2['englishName'] = 'An Yu Jin'; // 키값 추가

delete yuJin2['englishName']; // 키값 삭제

 

이때, 한가지 의문점이 든다. const로 선언할 경우 선언된 값은 변경할 수 없는데, 위의 코드를 보면 수정이 가능하다. 그 이유가 무엇일까?

- const로 선언할 경우 객체 자체를 변경할 순 없지만, 객체 안의 메서드나 프로퍼티는 변경할 수 있기 때문이다.