在Typescript映射中将类实例用作键
在获取和设置映射值时,映射必须知道这些键是否等于另一个已设置的键 如何在Typescript中实现复杂数据类型(自定义类)的相等性?在Java中,我会重写equals方法,typescript中是否有等效的方法 就我而言,我有以下课程:在Typescript映射中将类实例用作键,typescript,dictionary,Typescript,Dictionary,在获取和设置映射值时,映射必须知道这些键是否等于另一个已设置的键 如何在Typescript中实现复杂数据类型(自定义类)的相等性?在Java中,我会重写equals方法,typescript中是否有等效的方法 就我而言,我有以下课程: 导出类路径{ 建造师( 私有只读作用域:字符串[], 私有只读对象:字符串[], 私有只读值:字符串 ) { } getScope():字符串[]{ 返回此.scope; } getObject():字符串[]{ 返回此.object; } getValue()
导出类路径{
建造师(
私有只读作用域:字符串[],
私有只读对象:字符串[],
私有只读值:字符串
) { }
getScope():字符串[]{
返回此.scope;
}
getObject():字符串[]{
返回此.object;
}
getValue():字符串{
返回此.value;
}
//@override equals():布尔--?
}
我想使用此类的实例作为映射中的键,如下所示:
const map=newmap();
set(新路径(['hello']、['world']、'asdf')、'hwa');
set(新路径(['see'、'you']、['world'、'asdf')、'swa');
get(新路径(['hello'],['world'],'asdf');//'华
get(新路径(['see','you',['world','asdf');//'swa'
如何在Typescript中实现复杂数据类型(自定义类)的相等性
你不能。是TypeScript从JavaScript获得的东西。JavaScript规范说Map
使用。对于对象实例,这就是=
。也就是说,只有相同的实例才等于自身,而不是等效的实例。它不像Java的集合那样遵从对象方法
没有内置的类似于映射的结构允许您确定键的相等性。您可以构建一个,但默认情况下没有