자바스크립트에서 객체를 다루는 것은 프로그래밍에서 중요한 부분 중 하나입니다. 여러 가지 내장 메서드를 사용하여 객체를 조작할 수 있습니다.
객체의 속성 이름들을 배열로 반환합니다.
const myObject = { a: 1, b: 2, c: 3 };
const keys = Object.keys(myObject);
console.log(keys); // ['a', 'b', 'c']
JavaScript객체의 속성 값들을 배열로 반환합니다.
const myObject = { a: 1, b: 2, c: 3 };
const values = Object.values(myObject);
console.log(values); // [1, 2, 3]
JavaScript객체의 속성과 값의 쌍을 배열로 반환합니다.
const myObject = { a: 1, b: 2, c: 3 };
const entries = Object.entries(myObject);
console.log(entries); // [['a', 1], ['b', 2], ['c', 3]]
JavaScript여러 객체를 결합하여 하나의 객체로 만듭니다.
const targetObject = { a: 1, b: 2 };
const sourceObject = { b: 3, c: 4 };
Object.assign(targetObject, sourceObject);
console.log(targetObject); // { a: 1, b: 3, c: 4 }
JavaScript객체가 특정 속성을 직접 소유하고 있는지 여부를 확인합니다.
const myObject = { a: 1, b: 2 };
console.log(myObject.hasOwnProperty('a')); // true
console.log(myObject.hasOwnProperty('c')); // false
JavaScript객체를 동결하여 새로운 속성 추가와 이미 존재하는 속성 삭제, 수정이 모두 금지됩니다.
const myObject = { a: 1, b: 2, c: 3 };
Object.freeze(myObject);
// 아래의 작업들은 모두 에러를 발생시킵니다.
myObject.a = 4; // 에러: Cannot assign to read-only property 'a'
myObject.b = 5; // 에러: Cannot assign to read-only property 'b'
myObject.c = 6; // 에러: Cannot assign to read-only property 'c'
myObject.d = 7; // 에러: Cannot add property 'd', object is not extensible
delete myObject.a; // 에러: Cannot delete property 'a' of #<Object>
console.log(myObject); // { a: 1, b: 2, c: 3 }
JavaScript객체를 밀봉하여 새로운 속성 추가와 이미 존재하는 속성 삭제가 금지됩니다. 그러나 속성 값은 변경 가능합니다.
const myObject = { a: 1, b: 2, c: 3 };
Object.seal(myObject);
// 아래의 작업들은 모두 에러를 발생시킵니다.
myObject.a = 4; // 에러: Cannot assign to read-only property 'a'
myObject.b = 5; // 에러: Cannot assign to read-only property 'b'
myObject.c = 6; // 에러: Cannot assign to read-only property 'c'
myObject.d = 7; // 에러: Cannot add property 'd', object is not extensible
delete myObject.a; // 에러: Cannot delete property 'a' of #<Object>
// 아래의 작업들은 에러를 발생시키지 않고 값이 변경됩니다.
myObject.a = 10;
myObject.b = 20;
myObject.c = 30;
console.log(myObject); // { a: 10, b: 20, c: 30 }
JavaScript자바스크립트에서 객체를 반복하는 방법에는 여러 가지가 있습니다. 가장 흔한 방법은 for…in 루프를 사용하는 것이지만, Object.keys(), Object.values(), Object.entries() 메서드를 활용하는 방법도 있습니다.
for…in 루프는 객체의 열거 가능한 속성들을 반복합니다.
const myObject = { a: 1, b: 2, c: 3 };
for (const key in myObject) {
console.log(`${key}: ${myObject[key]}`);
}
// 출력:
// a: 1
// b: 2
// c: 3
JavaScriptObject.keys() 메서드는 객체의 키 목록을 반환하므로, 이를 이용하여 반복할 수 있습니다.
const myObject = { a: 1, b: 2, c: 3 };
const keys = Object.keys(myObject);
for (const key of keys) {
console.log(`${key}: ${myObject[key]}`);
}
// 출력:
// a: 1
// b: 2
// c: 3
JavaScriptObject.values() 메서드는 객체의 값 목록을 반환하므로, 이를 이용하여 반복할 수 있습니다.
const myObject = { a: 1, b: 2, c: 3 };
const values = Object.values(myObject);
for (const value of values) {
console.log(value);
}
// 출력:
// 1
// 2
// 3
JavaScriptObject.entries() 메서드는 객체의 키-값 쌍 목록을 반환하므로, 이를 이용하여 반복할 수 있습니다.
const myObject = { a: 1, b: 2, c: 3 };
const entries = Object.entries(myObject);
for (const [key, value] of entries) {
console.log(`${key}: ${value}`);
}
// 출력:
// a: 1
// b: 2
// c: 3
JavaScript자바스크립트 객체 메서드와 반복문을 통해 객체를 효과적으로 다룰 수 있습니다. 또한 객체의 속성 및 구조를 다양한 방식으로 관리하고 상호작용할 수 있도록 도와줍니다. 이를 통해 코드의 가독성을 높이고 유지보수성을 향상 시킬 수 있습니다.
Queue란 무엇인가? Java에서 Queue는 데이터 구조의 일종으로, 데이터를 선입선출(FIFO, First-In-First-Out) 방식으로 처리합니다. 이 글에서는 Queue의…
Stack이란 무엇인가? Java에서 Stack은 자료구조의 한 종류로, 데이터를 순서대로 쌓아 올리는 형태로 운영됩니다. 컴퓨터 과학에서…
소개 자바에서 Map 인터페이스는 키(Key)와 값(Value)의 쌍을 저장하는 자료구조입니다. 이는 연관 배열이라고도 불리며, 각 키는…
소개 자바에서 Set은 중복을 허용하지 않는 데이터 집합을 의미합니다. List와 달리 동일한 요소를 여러 번…
해시(Hash)란 무엇인가? 해시(Hash)는 자바 프로그래밍에서 빠르고 효율적인 데이터 저장 및 검색을 위한 핵심적인 개념입니다. 이…
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기 강의와 함께한 인프런 워밍업 클럽…