type: Object
和 type: [Object]
的区别:
type: Object:
device: { type: Object, default: () => { return {} } }
type: Object
意味着device
这个属性需要是一个普通的对象类型。default: () => { return {} }
设置了默认值,即当未传入device
属性时,默认会是一个空对象{}
。
type: [Object]:
device: { type: [Object], default: () => { return {} } }
type: [Object]
是一个数组,里面包含了一个对象类型。- 实际上,这里的写法和
type: Object
是等效的,它表示device
这个属性期望是一个对象类型。 default: () => { return {} }
同样设置了默认值为一个空对象{}
。
在这两种情况下,device
都会被设定为对象类型,并且当未传入具体对象时都会使用空对象作为默认值。两种写法在这个场景下的含义是相同的,都是定义 device
为对象类型并设置默认值。