Language/TypeScript

[TypeScript] Map 객체, TypeScript , JavaScript Map

0m1n 2023. 3. 6. 19:00
728x90
반응형

Map은 아래와 같이 Key Value로 구현할 수 있다.

const test = new Map([
['test1', { a : '하이', b : '안녕'}],
['test2', { a : '안녕하세요', b : 'hello'}],
]);

test.get("test1"); // {a: '하이', b: '안녕'}
test.get("test1").a; // '하이'

test.delete('test1'); // 삭제 성공시 true 리턴

test.clear();

장점

  • 문자열 아닌 값도 키로 사용 가능
const errorMessageObj = {
  404 : "페이지가 없습니다",
  500 : "서버 오류입니다",
  401 : "권한이 없습니다"
}

const errorMessageMap = new Map([
  [404, "페이지가 없습니다"],
  [500, "서버 오류입니다"],
  [401, "권한이 없습니다"],
])

errorMessageObj.404 // unexpected number 에러
errorMessageObj["404"] // '페이지가 없습니다'
errorMessageMap.get(404) // '페이지가 없습니다'
  • 메소드 사용 명확성
  • 깔끔한 순회
const maxInfoMap = new Map([
  ['name', '김맥스'],
  ['age', 25],
  ['major', '영문학'],
]);

maxInfoMap.entries();
// MapIterator { ["name", "김맥스"],["age", 25],["major", "영문학"]}

for (const [key, value] of maxInfoMap) {
  console.log(key, value);
}

// 결과
// "name" "김맥스"
// "age" 25
// "major" "영문학"
728x90
반응형