问题如标题:
- 在node.js中运行ts格式的代码,出现类型问题。
- 错误信息是:error TS7053: Element implicitly has an 'any' type
报错部分代码:
const hashmap = {
name:'yuyuan',
age:'18',
nation:'China',
hometown:'HunanProvince'
}
type Select = {name:string,height:string}
const select = {name:'yuan',height:'180cm'}
if(select.name){consol.log(hashmap[select.name])}
解决方法:
① keyof
const hashmap:Hashmap = {
name:'yuyuan',
age:18,
nation:'China',
hometown:'HunanProvince'
}
type Hashmap = {
name:string,
age:number,
nation:string,
hometown:string
}
type Map = keyof Hashmap
type Select = {name:Map,height:string}
const select = {name:'yuan',height:'180cm'}
if(select.name){consol.log(hashmap[select.name])}
② 声明key的类型
const hashmap = {
name:'yuyuan',
age:18,
nation:'China',
hometown:'HunanProvince'
}
type Hashmap = {
[K:string]:string
}
type Select = {name:string,height:string}
const select = {name:'yuan',height:'180cm'}
if(select.name){consol.log(hashmap[select.name])}