映射对象(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
如,

private _fruit: Map<string, FruitDetail> = new Map();

它通常采用的方法是,
public setFruit(fruitName: string, fruitDetail: FruitDetail) {...}

public getFruit(fruitName: string): FruitDetail {...}

但是只有string类型在属性中声明,我应该如何让其他人知道它应该是fruitName而不是fruitColor

最佳答案

如果只想记录映射键的含义,可以使用类型别名:

private _fruit: Map<FruitName, FruitDetail> = new Map();

// Outside the class
type FruitName = string;

FruitName仅用于文档;如果您还定义FruitColor = string,TypeScript将不会报告错误,如果您混淆FruitName s和FruitColor s。如果您想出错,可以使用“品牌化”字符串类型。AAA>给我找到了一些教程,包括web search,它与我在一个项目中使用的最接近。

10-02 20:04