首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法调用其类型缺少调用签名的表达式

无法调用其类型缺少调用签名的表达式
EN

Stack Overflow用户
提问于 2017-02-24 06:27:27
回答 4查看 131.8K关注 0票数 78

我有苹果和梨-它们都有一个isDecayed属性:

interface Apple {
    color: string;
    isDecayed: boolean;
}

interface Pear {
    weight: number;
    isDecayed: boolean;
}

这两种类型都可以出现在我的水果篮中(多次):

interface FruitBasket {
   apples: Apple[];
   pears: Pear[];
}

现在让我们假设我的篮子是空的:

const fruitBasket: FruitBasket = { apples: [], pears: [] };

现在我们从篮子里随机拿出一种:

const key: keyof FruitBasket = Math.random() > 0.5 ? 'apples': 'pears'; 
const fruits = fruitBasket[key];

当然,没有人喜欢腐烂的水果,所以我们只挑选新鲜的:

const freshFruits = fruits.filter((fruit) => !fruit.isDecayed);

不幸的是Typescript告诉我:

无法调用其类型缺少调用签名的表达式。类型'((callbackfn:(value: Apple,index: number,array: Apple[]) => any,thisArg?:any) => Apple[]) | ...‘没有兼容的调用签名。

这是怎么回事--只是Typescript不喜欢新鲜水果,还是这是一个Typescript bug?

您可以在官方Typescript Repl中亲自体验。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42427393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档