본문 바로가기

JavaScript/JavaScript기초

[Javascript] 객체

객체란?

여러 속성을 하나의 데이터에 저장하는 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'; // 객체를 생성한 후 프로퍼티 할당

 

 

person 객체에 firstName, age, lastName 키를 가진 프로퍼티가 들어온 것을 볼 수 있음

 

프로퍼티( 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)

 

 

age가 25, firstName이 'park'으로 바뀐것을 확인

 

프로퍼티( key, value ) 삭제(delete)

 

프로퍼티의 삭제는 delete를 사용해서 삭제할 수 있음

delete person.age;

console.log(person);

 

age 가 삭제된 것을 볼 수 있음

 

프로퍼티 key의 동적할당(개선된 프로퍼티)

객체 생성 시 프로퍼티 키를 대괄호로 둘러싸서 키 이름을 동적으로 받아올 수 있음

let setProperty = ( key,value ) => {
	
    let obj = {
    	[key]:value //할당받은 key와 value를 프로퍼티의 키,값으로 사용
    }
    return obj;
}

console.log(setProperty('name','hong gil dong'))

 

프로퍼티에 할당받은 'name', 'hong gil dong'이 들어온 것을 볼 수 있음

 

단축 프로퍼티

프로퍼티 값으로 사용할 변수명과 키의 이름이 같을 경우 아래와 같이 단축해서 사용할 수 있음

function setCar( model,color ){
    
    let car = {
        model,
        color
    }
    return car;
}

console.log(setCar('sonata','red'))

 

value 가 자동으로 할당되는 것을 볼 수 있음

 

프로퍼티 존재 여부 확인

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