映射对象(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,它与我在一个项目中使用的最接近。