我希望函数返回一个对象或null。
这是我今天的处理方式:
export interface MyObject {
id: string
}
function test(id) : MyObject | null {
if (!id) {
return null;
}
return {
id: id
}
}
这是最佳做法吗?
我宁愿使该接口可为空,而不是返回MyObject | null
。
但是我不知道这是否可能。
答案 0 :(得分:1)
在Typescript中,除非启用了严格的null检查,否则null和undefined是所有类型的域的一部分。我认为,显式声明空值比在所有位置隐式声明空值是一种更好的做法,但是在现实世界中,与不适合它的库代码进行互操作时,启用严格模式通常是不现实的。
答案 1 :(得分:1)
这是最佳做法吗?
很好。每个人都这样做(或使用undefined
)。
我宁愿使该接口可为空,而不是返回
MyObject | null
。
您可以这样做:
export type NullableObject = null | {
id: string
}
这不常见,但也很好。
答案 2 :(得分:0)
这也应该处理空值情况(如果--strictFunctionTypes编译器选项已关闭)
GetSection