자바스크립트에서 원시 타입을 제외한 모든 데이터 타입(객체, 함수, 배열, 정규표현식 등)은 객체이다.
객체는 여러가지 값을 가질 수 있으며, 함수도 가질 수 있다.
객체가 보유한 값을 '프로퍼티'라고 하며, 객체가 보유한 함수를 '메서드'라고 한다. (둘다 프로퍼티라고 하기도 한다)
객체의 프로퍼티와 메서드들은 '키와 값'으로 구분된다.
var object = {
key1: value1,
key2: value2,
key3: () => {
// 함수
}
}
// 객체 생성
const obj1 = new Object(); // 초기화 되지 않은 빈 객체
const obj2 = {}; // 초기화 되지 않은 빈 객체
const obj3 = {
name: '남명훈',
age: '26',
}; // 초기화가 이루어진 객체
console.log(obj1);
console.log(obj2);
console.log(obj3);
const obj = {
name: '남명훈',
age: '26',
};
// 객체의 값 추가
obj['email'] = 'friends0822@naver.com';
obj.phone = '01012345678';
console.log(obj);
// 객체의 값 삭제
delete obj.phone;
console.log(obj);
// 해당 키가 객체에 존재하는지의 여부판단
console.log('email' in obj); // true : 키 값 존재
console.log('phone' in obj); // false : 키 값 존재 x
// 객체의 전체 키를 조회
console.log(Object.keys(obj)); // [ 'name', 'age', 'email' ]
// 객체의 전체 값을 조회
console.log(Object.values(obj)); // [ '남명훈', '26', 'friends0822@naver.com' ]
// for문을 활용한 객체 전체 키와 값의 순회
for (const key in obj) {
console.log(key, obj[key]);
}