객체란?
여러 속성을 하나의 데이터에 저장하는 key와 value로 이루어져 있는 구조.
중괄호{ ... }를 사용해 만들 수 있고 중괄호 안에는 'key : value' 쌍으로 구성되어 있는 프로퍼티(property) 를 넣을 수 있음
키에는 문자형이 허용되고 값에는 모든 자료형이 허용이 됨
객체의 선언
객체를 선언하는 방법에는 객체 생성자, 객체 리터럴 문법 2가지가 있음
let obj = new Object(); // 객체 생성자 문법
let obj = {}; // 객체 리터럴 문법
객체 프로퍼티 CRUD(Create, Read, Update, Delete)
프로퍼티( key, value ) 생성(Create)
let person = { // 객체를 선언하며 프로퍼티도 할당
firstName:'son',
age:17
};
person.lastName = 'heung min'; // 객체를 생성한 후 프로퍼티 할당
프로퍼티( key, value ) 읽기(Read)
위에 생성된 person 객체를 아래와 같은 방법으로 읽을 수 있음
console.log(person.firstName + person.lastName);// 점 표기법
console.log(person['age']) //대괄호 표기법
프로퍼티( key, value ) 수정(Update)
프로퍼티 수정은 프로퍼티 생성에서 객체 생성 후 프로퍼티 할당하는 것과 같지만 이미 있는 프로퍼티의 값을 수정하는 것
person.age = 25
person['firstName'] = 'park'
console.log(person)
프로퍼티( key, value ) 삭제(delete)
프로퍼티의 삭제는 delete를 사용해서 삭제할 수 있음
delete person.age;
console.log(person);
프로퍼티 key의 동적할당(개선된 프로퍼티)
객체 생성 시 프로퍼티 키를 대괄호로 둘러싸서 키 이름을 동적으로 받아올 수 있음
let setProperty = ( key,value ) => {
let obj = {
[key]:value //할당받은 key와 value를 프로퍼티의 키,값으로 사용
}
return obj;
}
console.log(setProperty('name','hong gil dong'))
단축 프로퍼티
프로퍼티 값으로 사용할 변수명과 키의 이름이 같을 경우 아래와 같이 단축해서 사용할 수 있음
function setCar( model,color ){
let car = {
model,
color
}
return car;
}
console.log(setCar('sonata','red'))
프로퍼티 존재 여부 확인
in 연산자를 통해 프로퍼티의 존재 여부를 확인할 수 있음
let person = {
name:'lee',
age:17
}
console.log( "name" in person)
console.log( "job" in person)
객체를 통한 반복문
for ( key in object ) 를 통해 각 프로퍼티를 반복해서 꺼내올 수 있음
let customer = {
number:1002,
name:'park ji sung',
age:34,
address:'seoul'
}
for( let key in customer) { //key = 각 프로퍼티의 키값, customer = customer 객체
console.log(`${key} : ${customer[key]}`)
}
참조: https://ko.javascript.info/
'JavaScript > JavaScript기초' 카테고리의 다른 글
[Javascript] 숫자형 (0) | 2021.08.31 |
---|---|
[Javascript] 객체 - 메서드와 this (0) | 2021.08.27 |
[Javascript] 배열과 객체의 Copy (0) | 2021.08.27 |
[Javascript] 반복문 (0) | 2021.08.27 |
[Javascript] 문자열 다루기 (0) | 2021.08.26 |