자바스크립트에서 객체를 생성하고, 프로퍼티(속성)를 추가/수정/삭제하는 방법을 알아보겠습니다.
[ Contents ]
1. 객체 생성
let person = new Object(); // 객체 생성자 이용
let person = {}; // 객체 초기화
new 키워드를 이용해서 객체(Object)를 생성할 수도 있고, 배열과 비슷하게 { }를 이용해서 초기화할 수도 있습니다.
보통 중괄호를 이용한 초기화 방식을 많이 사용합니다.
2. 객체 속성
let person = {
name: "jangThang",
phone: undefined,
age: 26,
etc: function () {
console.log("star가 되기위해");
}
};
객체를 이루는 각 변수를 '속성(Property, 프로퍼티)'이라고 합니다.
객체가 가지고 있는 정보를 '속성'에 저장한다고 생각하시면 됩니다. 예를 들어 사람의 인적사항에는 이름, 나이, 휴대전화번호 등등이 있을 수 있겠죠.
각 속성은 다른 타입으로 지정할 수 있으며, 심지어 function도 가능합니다.
console.log(person.name);
console.log(person["age"]);
속성값 접근은 객체.속성명이나 객체["속성명"]으로 할 수 있습니다.
3. 객체 속성 변경
1) 속성 추가
객체.속성명 = 속성값;
객체["속성명"] = 속성값;
객체.add()나 객체.append() 같은 함수가 아니라, 대입 연산자를 이용해서 새로운 속성을 초기화합니다.
let person = {
name: "jangThang",
age: 99
};
console.log(person);
person.height = 175;
person["url"] = "star7sss.tistory.com";
console.log(person);
주로 첫번째 방법을 많이 이용합니다. [" "]보다는 .으로 간단히 추가하는 게 편하죠.
2) 속성 수정
객체.속성명 = 속성값;
객체["속성명"] = 속성값;
객체의 속성 수정도 추가와 동일합니다. 없던 속성을 초기화하면 '추가'가 되고, 있던 속성이면 속성값이 '변경'됩니다.
const person = {
name: "jangThang",
age: 25,
pet: null
};
console.log(person);
person.age = 26;
person["pet"] = "cat";
console.log(person);
재밌는 점은 const로 생성한 객체임에도 속성 변경이 가능하다는 점입니다.
상수 객체는 속성이 고정이며, 속성값은 변할 수 있습니다.
const person = {
name: "jangThang",
age: 25,
pet: null
};
console.log(person);
person = {
name: "jangThang",
age: 25,
};
다만 속성 자체를 변경할 경우에는 에러가 뜹니다.
3) 속성 삭제
delete 객체.속성;
delete 객체["속성"];
delete 키워드를 이용해서 객체의 속성을 삭제합니다.
const person = {
name: "jangThang",
age: 25,
pet: null
};
console.log(person);
delete person.pet;
delete person["age"];
console.log(person);
마치 SQL처럼.. delete를 사용해서 객체의 속성을 삭제합니다.
'PL (Programming Language) > JavaScript' 카테고리의 다른 글
[JS] 자바스크립트 스프레드(spread): 언패킹(Unpacking), 특정 객체나 배열 요소 나열하기 (0) | 2023.09.25 |
---|---|
[JS] 자바스크립트 변수 값 교환하기(Swap), 배열/객체 기본값 설정하기 (0) | 2023.09.22 |
[JS] 자바스크립트 반복문: 배열/객체 내 모든 항목을 순환하는 for of와 for in (0) | 2023.09.14 |
[JS] 자바스크립트 배열 생성, 특징, 함수: push, unshift, pop, shift, length, splice (0) | 2023.09.14 |
[JS] 자바스크립트 함수 정의 방법: 함수 선언식과 (익명)함수 표현식 (0) | 2023.09.13 |
댓글