""]; } 类型是:string、number 和 (() => string) 然而在我解构这些值-6ren">
gpt4 book ai didi

typescript 提示数组解构后的变量类型

转载 作者:行者123 更新时间:2023-12-05 08:15:57 26 4
gpt4 key购买 nike

我有一个函数

function foo() {
return ["", 1, () => ""];
}

类型是:stringnumber(() => string)

然而在我解构这些值之后

const [str, num, func] = foo();

编译器将每个变量视为类型:string |编号 | (() => 字符串)

我想在函数中传递这些变量,但编译器提示类型不匹配,我的 IDE 因底层红色文本而崩溃。我能做什么?

最佳答案

指定函数的返回类型

function foo(): [string, number, () => string] {
return ["", 1, () => ""];
}

这将严格键入函数以返回一个数组:

  • 索引 0 的值为 string
  • 索引 1 的值为 number
  • 索引 2 的值为 () => string 类型/返回字符串的函数
function foo(): [string, number, () => string] {
return [0, 1, () => ""]; // Will shows error because index 0 is number, not string
}

关于 typescript 提示数组解构后的变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63864001/

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