[JavaScript]객체(Object)

LMH·2022년 11월 4일
1
post-thumbnail

객체란 한 마디로 우리 주변에 실제하는 사물로 정의할 수 있습니다. 객체에는 하나의 변수에 대한 다양한 정보를 담을 수 있는 데이터 타입이며, key와 value값을 가진다. 오늘은 객체 내에 있는 정보를 다루는 방법에 대하여 정리해보고자 합니다.

객체의 속성

객체의 Property값을 다루기 위해서는 Dot NotationBracket Notation 두 가지 방법이 존재합니다.

{ key : value } // 중괄호 전체가 Property
let person = {
 name : 'James',
 age : 25,
 email : 'abc@gamil.com'
}

// Dot Notation
Obejct.Property key값 
Person.name;  // 'james'
Person.email; // 'abc@gamil.com'

//bracket Notation
Obejct['Property key 값'] 
Person['name'] // 'james'
Person['email'] // 'abc@gamil.com'

Notation의 차이점이라 할 수 있는 매개변수로인해 점은 key값이 동적으로 변할 때는 Braket Notaiotn만 사용할 수 있습니다. 아래의 코드를 보면 Dot Notation의 경우에는 getProperty 함수의 매개변수로 PopertyName을 받을 경우 undfined가 출력 됩니다.

let person = {
 name : 'James',
 age : 25,
 email : 'abc@gamil.com'
}

function getProperty(obj, propertyName) {
 	
  return  obj.propertyName  // obj에 propertyName이라는 Key가 있을 때만 사용이 가능하다.
}

getProperty(person, 'name'); // undefined;

function getProperty(obj, propertyName) {
 	
  return  obj[propertyName]  // 매개변수의 propertyName의 값이 달라져도 객체의 value값을 반환할 수 있다.
}
  getProperty(person, 'name'); // james

delete 연산자

Property를 삭제하는데 사용합니다.

delete person.age; // cat 객체에서 age key를 삭제
delete person['age']; // cat 객체에서 age key를 삭제

in 연산자

객체에 특정 Property가 존재하는지 여부를 true or false 반환합니다.

let person = {
 name : 'James',
 age : 25,
 email : 'abc@gamil.com'
}

'age' in person // true
'name' in person // true
'birthday' in person // false

객체의 메소드

객체의 Property의 value값으로 함수선언문을 추가할 수 있고 선언된 함수를 객체의 메소드로 사용할 수 있습니다.

object.Method();
let person = {
 name : 'James',
 age : 25,
 email : 'abc@gamil.com',
 run : function() {
	console.log('100m 기록 11초')
    }
}

person.run() // '100m 기록 11초')

내장 메소드

keys

객체의 key값들은 모은 배열을 생성합니다.

let person = {
 name : 'James',
 age : 25,
 email : 'abc@gamil.com',
 run : function() {
	console.log('100m 기록 11초')
    }
}

Object.keys(person) // ['name', 'age', 'email', 'run']

values

객체의 value값들은 모은 배열을 생성합니다.

let person = {
 name : 'James',
 age : 25,
 email : 'abc@gamil.com',
 run : function() {
	console.log('100m 기록 11초')
    }
}
Object.values(person) // ['James', 25, 'abc@gamil.com', ƒ]

entries

객체의 각 key값과 value값을 가지는 배열을 포함하는 배열을 생성합니다.

let person = {
name : 'James',
age : 25,
email : 'abc@gamil.com',
run : function() {
	console.log('100m 기록 11초')
  }
}
Object.entries(person) 
// ['name', 'James'], 'name', 'James'], ['email', 'abc@gamil.com'], ['run', ƒ]]

객체의 반복문

객체에서 in 반복문을 사용할 경우 배열과 달리 객체의 전체 key값을 한바퀴 순환 됩니다. 반복문을 확용하여 key값에 맞는 value값을 쉽게 가져올 수 있습니다.

let person = {
 name : 'James',
 age : 25,
 email : 'abc@gamil.com',
 run : function() {
	console.log('100m 기록 11초')
    }
}
for(key in person) {
  console.log(key)
}
// name
// age
// email
// run
profile
새로운 것을 기록하고 복습하는 공간입니다.

0개의 댓글