javascript
자바스크립트의 Map은 키-값 쌍을 저장하는 컬렉션으로, 어떠한 타입의 키(객체, 함수, 원시 타입 등)도 사용할 수 있으며, 삽입 순서를 유지합니다. 각 키는 유일하며 set, get, delete 등의 메소드로 데이터를 관리합니다. 반면, Set은 중복 없는 유일한 값을 저장하는 컬렉션으로, 주로 데이터의 존재 여부를 빠르게 확인할 때 사용됩니다. Set은 add, has, delete 메소드를 통해 요소를 추가하거나 검사, 제거할 수 있으며, 삽입된 순서대로 요소를 저장합니다.
자바스크립트의 Map 객체는 키-값 쌍을 저장하는 컬렉션입니다. Object와 비슷하지만, 몇 가지 중요한 차이점이 있습니다. 가장 중요한 차이점은 Map은 키로 어떤 타입의 값이든 사용할 수 있다는 점입니다. 즉, 객체, 기본 타입 등 모든 것을 키로 사용할 수 있습니다.
let map = new Map();
map.set('apple', 'green');
map.set(1, 'number one');
console.log(map.get('apple')); // 'green'
console.log(map.has('apple')); // true
console.log(map.size); // 2
JavaScriptSet 객체는 중복을 허용하지 않는 값의 집합입니다. 즉, 어떤 값이 Set에 이미 존재한다면, 그 값은 Set에 다시 추가될 수 없습니다. 이는 특히 중복된 요소를 제거하고자 할 때 유용합니다.
let set = new Set();
set.add(1);
set.add(5);
set.add('apple');
console.log(set.has(1)); // true
console.log(set.size); // 3
JavaScript상품과 해당 상품의 재고 수량을 관리하는 경우
let inventory = new Map();
inventory.set("사과", 10);
inventory.set("바나나", 5);
inventory.set("오렌지", 8);
function updateInventory(product, quantity) {
if (inventory.has(product)) {
inventory.set(product, inventory.get(product) + quantity);
} else {
inventory.set(product, quantity);
}
}
updateInventory("사과", 5);
updateInventory("키위", 12);
console.log(inventory);
JavaScript웹사이트에 로그인한 사용자의 고유 ID를 추적하는 경우
let loggedInUsers = new Set();
function logIn(userId) {
loggedInUsers.add(userId);
}
function logOut(userId) {
loggedInUsers.delete(userId);
}
logIn("user123");
logIn("user456");
logIn("user123"); // 중복 로그인 시도는 무시됩니다.
console.log(loggedInUsers); // {"user123", "user456"}
JavaScriptMap과 Set은 자바스크립트에서 데이터를 다루는 데 매우 유용한 구조입니다. Map은 유연한 키-값 쌍 저장 방식을 제공하고, Set은 중복 없는 값의 집합을 관리하는 데 이상적입니다. 이 두 구조를 적절히 활용하면 보다 효율적이고 깔끔한 코드 작성이 가능합니다.
Readable Code: 읽기 좋은 코드를 작성하는 사고법Practical Testing: 실용적인 테스트 가이드 강의와 함께한 인프런 워밍업 클럽…
Readable Code: 읽기 좋은 코드를 작성하는 사고법Practical Testing: 실용적인 테스트 가이드 강의와 함께한 인프런 워밍업 클럽…
테스트 시 의존성 주입(Dependency Injection)과 Mockito Spring 애플리케이션을 개발하다 보면, 테스트 코드에서 실제 빈(Bean)을 사용하지…
들어가며 스프링 기반 프로젝트에서 좋은 설계 구조와 테스트 전략은 소프트웨어 품질과 유지보수성에 직결됩니다. 최근 학습한…
Readable Code: 읽기 좋은 코드를 작성하는 사고법Practical Testing: 실용적인 테스트 가이드 강의와 함께한 인프런 워밍업 클럽…
Readable Code: 읽기 좋은 코드를 작성하는 사고법Practical Testing: 실용적인 테스트 가이드 강의와 함께한 인프런 워밍업 클럽…