问题描述
我正在编码一个小的TypeScript函数,该函数具有类型为Data或number的$( )
参数。
param
解决方法
您要指定param
作为对象类型,而number
不是对象类型(它是原始类型)。 TypeScript在这里寻求一个共同的分母。联合中的两种类型都必须具有id
属性
忘记在object
上加上引号
interface Data {
id: number
}
function typescriptType(param: Data | number): void {
let data;
if (typeof param === 'object') {
data = param.id;
} else {
data = param;
}
}
typescriptType({id : 1});
typescriptType(1);