Object

Object 是 JavaScript 的一种 数据类型 。它用于存储各种键值集合和更复杂的实体。Objects 可以通过 Object() 构造函数或者使用 对象字面量 的方式创建

在 JavaScript 中,几乎所有的对象都是 Object 类型的实例,它们都会从 Object.prototype 继承属性和方法,虽然大部分属性都会被覆盖或者说被重写。 除此之外,Object 还可以被故意的创建,但是这个对象并不是一个“真正的对象”(例如:通过 Object.create(null)),或者通过一些手段改变对象,使其不再是一个“真正的对象”

创建一个对象

正常的三种创建方式

  1. var obj = {}
  2. console.log(obj) // {}
  3. var obj = Object({})
  4. console.log(obj) // {}
  5. var obj = new Object({})
  6. console.log(obj) // {}

如果使用 Object() 创建对象

  • 如果传入的参数是 undefined 或者 null,则会返回一个空对象

  • 如果传入的参数是一个基本类型,则会返回这种类型的包装类

  • 如果传入的参数是一个引用值,则仍然返回原本的值,且引用地址相同

  1. console.log(Object()) // {}
  2. console.log(Object(undefined)) // {}
  3. console.log(Object(null)) // {}
  4. console.log(Object(1)) // Number { 1 }
  5. console.log(Object('str')) // String { 'str' }
  6. console.log(Object(false)) // Boolean { false }
  7. console.log(Object([])) // []
  8. console.log(Object(function obj() { })) // ƒ obj() { }