【发布时间】:2018-03-27 10:12:41
【问题描述】:
我如何定义一个具有几个 Optional 值的 TypeScript 接口,但其中一个(或多个)是 Mandatory ???
假设我有以下代码:
interface ISearchKey
{
name?: string;
id?: number;
}
function findItem(search: ISearchKey): Item
{
// ...
return ...
}
我希望实现ISearchKey 接口的对象具有“名称”值和/或“id”值。可以发出其中之一(“name”和“id”),但不能同时发出!
我知道我可以通过验证 findItem() 函数中的输入来解决这个问题:
let name = search.name || "";
let id = search.id || -1;
或任何其他类型的输入验证,但这可以使用 TypeScript 类型验证吗?
【问题讨论】:
标签: typescript interface optional