ES6中Map与Object的异同

355 阅读1分钟

使用场景

Object对象

对象常用在OO,想一想js中我们一般如何使用Object

// 字面量对象
let p1 = {
    name: 'xunuo0x',
    age: 23
}
// 面向对象
class Person () {
    constructor(name, age) {
        this.name = name
        this.age = age
    }
    talk() {
        console.log('talk is cheap')
    }
}
let p2 = new Person('xunuo0x', 23)

Map键值对

Map的API主要有

  • clear
  • delete
  • entries
  • forEach
  • get
  • set
  • has
  • keys

相同点

  • 都通过kv进行存储
  • 结构上相似

不同点

  • Objectkey只能是String/Symbol
  • Object用在OO
  • Map具有size属性
  • Map可以使用forEach遍历

总结

  • Map是一种数据结构,是为便于我们存储数据,同时可以进行遍历
  • Object用在OO,可以用它描述对象