我不知道{}对象的用途。打字稿中的对象。
我将显示三个选项。请向我解释,他们可以得到x,y,z?。
const x: object | { x: number } = ?; // What can accept x and why ?
const y: Object | { y: number } = ?; // What can accept y and why ?
const z: {} | { z: number } = ?; // What can accept z and why ?
我是新来的,这对我来说很难理解。
答案 0 :(得分:2)
永远不要使用类型
Number
,String
,Boolean
,Symbol
或Object
。这些类型是指非原始的盒装对象,这些对象几乎从未在JavaScript代码中正确使用。
所以大写的Object
并不是您经常使用的东西。
可以将类型为object
的任何值分配给类型object
的变量(例如,对象文字,数组,复杂类型的实例)。请参见typeof
函数。
{}
是一个没有任何属性但也没有显式类型的对象。您可以例如为此分配一个字符串,object
则不是这种情况。
对于您的代码,您可以使用|
将变量定义为并集类型,因此您始终可以分配左或右类型的值。请注意,此处始终允许使用其他属性。