元素隐式具有'any'类型,因为类型的表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元素隐式具有'any'类型,因为类型的表达式相关的知识,希望对你有一定的参考价值。
这是我在limit-entries.ts中悬停在数据[command]上时遇到的完整错误
(参数)数据:dataProps元素隐式具有“ any”类型因为类型'“ hourly”'的表达式不能用于索引类型'dataProps'。类型“ dataProps”不存在属性“每小时”]
darkSkyApiTypes.ts
interface dataProps { data: { latitude: number longitude: number timezone: string currently?: { time: number summary: string temperature: number humidity: number } hourly?: { summary: string icon?: string data: { time: number temperature: number humidity: number }[] } daily?: { summary: string icon?: string data: { time: number temperatureMin: number temperatureMax: number humidity: number }[] } } } export = dataProps
limit-entries.ts
import { hourlyLimit } from '../config' import dataProps from '../API/darkSkyAPITypes' const limitEntries = (data: dataProps, command: string) => { let entries switch (command) { case 'currently': entries = data[command] break case 'hourly': entries = data[command].data.slice(0, hourlyLimit) break case 'daily': entries = data[command].data break default: entries = data[command] } return entries } module.exports = limitEntries
我得到标题错误。帮助!
[这是我将鼠标悬停在limit-entries.ts(参数)数据中的数据[command]上时遇到的全部错误:dataProps元素隐式具有“ any”类型,因为类型为“ hourly”的表达式不能为使用的...
答案
dataProps
定义具有单个名为data
的顶级属性的对象类型。您的data
变量的类型为dataProps
,因此您需要data.data
来引用该属性。因此,如果您有data[command]
,则应该有data.data[command]
。 (或更改dataProps
的定义。)
以上是关于元素隐式具有'any'类型,因为类型的表达式的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript Err:“元素隐式具有‘any’类型,因为‘any’类型的表达式不能用于索引类型
更新 Map 的值时,“元素隐式具有 'any' 类型,因为类型的表达式不能用于索引类型”的错误