数据类型
- 基本类型(primitive value)
- 简单的数据段,包括 Undefined, Null, Boolean, Number, String
- 初始化只使用2原始字面量形式,如果使用new则会创建Object
- 无法加入新的属性
- 引用类型(reference value)
可能由多个值构成的对象 - 判断类型
- typeof
- instance of
- Object.prototype.call()
- 创建Object实例
- new Object()调用构造函数;{}不调用构造函数
- Object.create() 方法用于创建一个新对象,使用现有的对象来作为新创建对象的原型(prototype)。避免使用Object.setPrototypeOf()带来的性能影响。
- Map
- Map存储利用率更高
- 插入性能比Object好
- 删除速度比Object快
- 查询速度有时比Object慢
- Object只能用数值,字符串,符号作为key,Map可以使用任意数据类型
- Map维护插入顺序,可以按照插入顺序迭代.entries,keys,values
原型
跨浏览器
- typeof检测正则表达式
- Safari5及之前,Chrome7及之前返回function
- IE,Firefox返回Object