gpt4 book ai didi

typescript - TypeScript 中的多个可选参数

转载 作者:行者123 更新时间:2023-12-04 12:16:44 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to pass optional parameters while omitting some other optional parameters?

(11 个回答)


去年关闭。




假设我有如下功能

function addressCombo(street1:string, street2:string = "NA", street3?:string) {
console.log("street1: " + street1);
console.log("street1: " + street2);
console.log("street2: " + street3);
}

我想传递参数 street1 的值和 street3但不是 street2那我该怎么做呢?

我来自 C#背景,我们做如下
addressCombo("ABC", street3 : "XYZ");

最佳答案

这不是一个真正的 TypeScript 问题,而是一个 JavaScript 问题。

可选参数必须在后面,并且只有在后面的所有参数都被省略的情况下才能被省略。否则 JavaScript 不知道您为哪个参数传递了值。

考虑您示例中的第二个参数是可选的。在通话中,您只需将其省略而不传递值。

function addressCombo(street1, street2, street3) {}

addressCombo("LA", "LO")

但是 JavaScript 并不知道您的意图 "LO"成为 street3 的参数而不是 street2 .相反,它将在行中分配它们。

换句话说,您不能为 street3 提供参数。在你离开之后 street2 .

您可以明确传递 undefined到可选参数,如果您省略参数,无论如何都会发生这种情况。在你的例子中,这将是
addressCombo("LA", undefined, "LO")

另请参阅

Skip arguments in a JavaScript function

javascript: optional first argument in function

How to pass optional parameters while omitting some other optional parameters?

关于typescript - TypeScript 中的多个可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60913446/

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