type: Objecttype: [Object] 的区别:

  1. type: Object:

     device: {
         type: Object,
         default: () => { return {} }
     }
    • type: Object 意味着 device 这个属性需要是一个普通的对象类型。
    • default: () => { return {} } 设置了默认值,即当未传入 device 属性时,默认会是一个空对象 {}
  2. type: [Object]:

     device: {
         type: [Object],
         default: () => { return {} }
     }
    • type: [Object] 是一个数组,里面包含了一个对象类型。
    • 实际上,这里的写法和 type: Object 是等效的,它表示 device 这个属性期望是一个对象类型。
    • default: () => { return {} } 同样设置了默认值为一个空对象 {}

在这两种情况下,device 都会被设定为对象类型,并且当未传入具体对象时都会使用空对象作为默认值。两种写法在这个场景下的含义是相同的,都是定义 device 为对象类型并设置默认值。