Map, Object
Object
- 현실의 물건을 프로그래밍에 표현한 것.
- 값을 키로 저장하고 불러올 수 있다
- 키를 삭제할 수 있다
- 어떠한 값이 저장되어있는지 확인할 수 있다
const man = {
name: 'kim',
age: 23
};
생성 방법
// 1
const object1 = { 'a':100, 'b':200, 'c':300 };
// 2
const object2 = {};
object2['a'] = 100;
object2['b'] = 200;
object2['c'] = 300;
// 3
const object3 = new Object();
object3['a'] = 100;
object3['b'] = 200;
object3['c'] = 300;
// 4
const object4 = {};
object4.a = 100;
object4.b = 200;
object4.c = 300;
ES6 Map()
Map이 더 나은점
- Object는 프로토타입을 가지고 있다. 그렇기 때문에 의도치않은 default key가 있다. 이것은
ES5 이래로
map = Object.create(null)으로 회피할 수 있지만, 거의 사용되지 않았다. - Object의 키는 String과 Symbol 밖에 될 수 없으나,
Map
에서는 어떤 값도 가능하다. - Object에서는 그 크기를 계속해서 추적해야만 하지만
Map
에서는 손쉽게 크기를 얻을 수 있다 (map.size
)
// Maps
var m = new Map();
m.set("hello", 42);
m.set(s, 34);
m.get(s) == 34;