gpt4 book ai didi

Typescript 函数返回类型取决于参数的数量或类型

转载 作者:行者123 更新时间:2023-12-04 08:07:53 28 4
gpt4 key购买 nike

假设我有一个函数,它应该根据参数的数量和类型返回不同的类型。我将如何在 TypeScript 中描述这一点?

function foo(t: number): string
function foo(t: number, s: string): boolean {
return typeof s === 'string' ? true : 'false';
}
一句话:函数 foo返回 string当使用 number 调用时参数并返回 boolean当使用 number 调用时和一个 string范围。

最佳答案

您可以定义函数的重载+更改实现,例如:
Playground

function foo(t: number, s: string): boolean;

function foo(t: number): string;

function foo(t: number, s?: string): string | boolean {
return s !== void 0 ? true : 'false';
}

const var1 = foo(50);
const var2 = foo(50, 'str');

通过这种方式,TypeScript 将能够根据函数的参数数量定义正确的变量类型。

enter image description here

enter image description here

关于Typescript 函数返回类型取决于参数的数量或类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66134236/

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