본문 바로가기

Programming/JavaScript

[JavaScript] 객체(Object)에 대한 정리

반응형

기본 개념

자바스크립트는 객체기반 패러다임에 의해 만들어졌다.

여기서 객체(Object)는 프로퍼티(Properties)로 구성되어 있는데, 프로퍼티는 이름(Key)과 값(Value)로 구성되어 있다.

 

자바스크립트의 객체는 아래 이미지와 같이 현실세계에 빗대어 이해할 수 있다.

자바스크립트에서 객체는 단독으로 존재하는 개체(Entity)이며, 프로퍼티와 타입(Type)을 가진다.

사람(Human)이라는 객체가 있다고 가정하자. 그렇다면 아래 이미지와 같은 고유한 특성을 가진 프로퍼티를 생성할 수 있다.

 

 

https://www.learnbyexample.org/python-dictionary/

 


 

객체 생성 방법

 

객체 생성 방법은 new Object(), Object.create(), 객체 초기자(Object Initializer)를 통한 리터럴 표기법이 있다.

객체 초기자를 사용한 객체 생성 방법은 다음과 같다.

 

var employee = { name: 'Bob', age: 25, job: 'Dev', city: 'New York', email: 'bob@web.com' }

 

employee 객체를 생성했고, 괄호( { } ) 안에 key : value 쌍으로 이루어진 객체 속성명 및 값을 정의했다.

개별 속성에 접근하려면 객체 뒤에 점( . ) + 속성 이름을 통해 접근할 수 있다.

만약 name 속성에 접근하고 싶다면, employee.name으로 접근하면 'Bob'이라는 값을 얻을 수 있다. 또한 대괄호( [ ] )안에 식별자(key) 이름을 적어서 값에 접근하는 방법도 가능하다.

 

var employee = { name: 'Bob', age: 25, job: 'Dev', city: 'New York', email: 'bob@web.com' }

// 객체의 값 가져오기

방법 1. employee.name
방법 2. employee['name']

 


 

객체의 반복

 

객체의 반복은 for in 구문을 사용한다. for in 구문은 열거 가능한(enumerable) 객체의 속성을 반복할 때 사용된다.

for in 구문은 순서가 없는 객체의 속성을 반복할 때 사용되는데, 따라서 배열과 같이 열거된 순서 그대로 값을 출력하지 않는다. 배열의 경우 forEach() 또는 for of 구문을 통해 반복문을 수행하는 것을 추천한다. 

 

기본 공식은 다음과 같다.

 

for(변수명 in 객체이름){

	- 구문 -
    
}

 

기본 공식을 적용하면 다음과 같다.

 

for(var prop in employee){
	
    console.log(prop)
    
}

//name
//age
//job
//city
//email

 

기본적으로 for in을 통해 객체를 반복하면 객체 식별자(key)를 출력한다.

객체의 값(value)를 출력하려면 다음과 같이 작성해야 한다.

 

for(var prop in employee){
	
    console.log(employee[prop]) // 객체[식별자(key)]
    
}

//Bob
//25
//Dev
//New York
//bob@web.com

 

반응형