gpt4 book ai didi

javascript - Angular 6 - 如何定义不止一种类型的返回值类型

转载 作者:行者123 更新时间:2023-11-30 20:20:48 25 4
gpt4 key购买 nike

我在 Angular 6 中有一个返回函数,我想定义返回值类型。但问题是,我的函数可以在几种情况下使用,返回值是根据情况而定的。下面是我的代码:

updateProcess(type, list, event: {}) {
let newList = [];
switch (event["action"]) {
case ListManipulation.Add:
newList = list;
newList.push(event["data"]);
break;
case ListManipulation.Delete:
newList = list.filter(
setting => !event["data"].includes(setting[this.itemProperties[type]["idName"]])
);
break;
default:
newList = list;
break;
}
return [...newList];
}

假设你有一种类型的返回值,你可以这样做:

updateProcess(type, list, event: {}): string {

但是我想做的是:

updateProcess(type, list, event: {}): string | [] | {} {

有人能帮忙吗?

附言。我还需要将 list 的类型作为参数

最佳答案

您可以创建基于所有其他类型的类型并像普通类型一样使用

type specialType = string  | {} | any[];

然后像这样使用它

updateProcess(type, list : specialType , event: {}) : specialType   {
let newList = [];
switch (event["action"]) {
case ListManipulation.Add:
newList = list;
newList.push(event["data"]);
break;
case ListManipulation.Delete:
newList = list.filter(
setting => !event["data"].includes(setting[this.itemProperties[type]["idName"]])
);
break;
default:
newList = list;
break;
}
return [...newList];
}

关于javascript - Angular 6 - 如何定义不止一种类型的返回值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51473565/

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