key, value로 이루어져있어서 형태가 같기때문에 같다고 오해하고 있었다.
하지만 다른점이 있다. 여러가지 다른점이 있지만 간단하게 몇가지만 알아보고 내가 실제로 사용한거에서 어떤게 달랐는지 중점적으로 작성한다.
주요 차이점
객체생성방법
const object = {}
const object = {name:"tom", sex:"male"}
const object = new Object(); // Empty Object
const object = new Object; // same reuslt
const map = new Map([["name","tom"],["sex","male"]])
// Map(2) = {"name"=>"tom", "sex"=>"male"}
요소에 접근하기
object.name;
object["name"]
map.get("name")//tom
key값 접근
"name" in object //true
map.has("name") //true
arr = ['a','b','c']
arr.inculdes('a') //true
새로운 요소 추가
object["age"] = 20
object.age = 20
map.set("age",20);
요소 제거하기
delete object.name
map.delete("name");
//전체 삭제하기
map.clear();
각 key,value값의 배열 만들기
const objArrK = Object.keys(object);
const objArrV = Object.values(object);
const mapArrK = Array.from(map.keys());
const mapArrV = Array.from(map.values());
크기 알아내기
Object.keys(object).length;
map.size;