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은 중복 없는 값의 집합을 관리하는 데 이상적입니다. 이 두 구조를 적절히 활용하면 보다 효율적이고 깔끔한 코드 작성이 가능합니다.
들어가며 소프트웨어를 개발할 때 메모리 관리 방식은 프로그램의 안정성과 성능을 좌우하는 핵심 요소입니다. 특히 자바스크립트,…
들어가며 소프트웨어 개발자는 코드가 어떻게 실행되는지 정확히 이해해야 할 필요가 있습니다. 우리가 작성한 프로그램은 결국…
서론 현대 웹 애플리케이션 아키텍처에서 웹 서버(Web Server) 와 웹 애플리케이션 서버(WAS, Web Application Server)…
HTTP 헤더(Header)란? HTTP(Header)는 클라이언트와 서버 간에 교환되는 메타데이터로, 요청(Request)과 응답(Response)에 부가적인 정보를 실어 나르는 역할을…
Readable Code: 읽기 좋은 코드를 작성하는 사고법Practical Testing: 실용적인 테스트 가이드 강의와 함께한 인프런 워밍업 클럽…
Readable Code: 읽기 좋은 코드를 작성하는 사고법Practical Testing: 실용적인 테스트 가이드 강의와 함께한 인프런 워밍업 클럽…