gpt4 book ai didi

typescript - 如何在 typescript 中用另一个约束可选参数

转载 作者:搜寻专家 更新时间:2023-10-30 21:30:27 24 4
gpt4 key购买 nike

我有以下功能

        private map(model: Model, id?: number, someVariable?:number) {... }

我的问题是,如果 id 存在,则 someVariable 必须存在。否则,此方法中的逻辑将不起作用并会出现异常。

解决方案之一是将这两个变量设置在一个类中。但是,我想知道 typescript 中是否有这种能力。

我正在使用 Typescript 2.0.3。

最佳答案

您可以使用 function overloading为此:

map(model: Model);
map(model: Model, id: number, someVariable:number);
map(model: Model, id?: number, someVariable?:number) {
//implementation
}

那么实际的实现签名是不可调用的:

this.map(m); //valid
this.map(m, 1, 2); //valid
this.map(m, 1); //error

关于typescript - 如何在 typescript 中用另一个约束可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39952624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com