javascript - 如何获取接口中已定义对象属性的类型但值为 undefined
我正在尝试转换在接口中定义的可未定义的对象属性。
interface activity {
activityId:number | undefined
}
var obj:activity ={activityId:undefined};
console.log( typeof obj.activityId) ;
//output: "undefined"
Expected behaviour : "number"
答案#1
这按预期工作,如您接口中指定,activityId 可以是 number 或 undefined。
在你的情况下,你将其声明为 undefined,当你运行 typeof 时,activityId 实际上是 undefined。当你运行:
const obj: activity = { activityId: 0 };
console.log(typeof obj.activityId) ;
它会在控制台显示 number。
`typeof` 是纯 JavaScript,它不能显示所有可能的类型。
