gpt4 book ai didi

javascript - 将类型化数组作为 any[] 传递?

转载 作者:行者123 更新时间:2023-11-28 20:34:10 27 4
gpt4 key购买 nike

为什么我不能将类型化数组传递到采用 any[] 的函数/构造函数中?

typedArray = new MyType[ ... ];
items = new ko.observableArray(typedArray);

给我错误:

Supplied parameters do not match any signature of call target

ko.observableArray 定义为:

interface KnockoutStatic 
{
observableArray: KnockoutObservableArrayStatic;
}

interface KnockoutObservableArrayStatic
{
new(value: any[]): KnockoutObservableArray;
}

declare var ko: KnockoutStatic;

如何将我的 MyType[] 作为 any[] 传递?这是协方差的问题吗?

最佳答案

typedArray = new MyType[ ... ];

这不是在 JavaScript 或 TypeScript 中创建新数组的方式(在 0.9.0 中,在空数组情况下,这将是正确的语法错误)。你应该能够写:

typedArray = [ ... ];

并让编译器正确地将类型推断为 MyType[]。如果需要,您可以添加类型注释:

typedArray = <MyType[]>[ ... ];

关于javascript - 将类型化数组作为 any[] 传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15768857/

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