如果您有一个简单的函数,其中一个参数是接口的键,另一个参数基于该键。如何键入值以强制键入而不是使用任何值?
interface Config {
name?: string
ttl?: number
}
const config: Config = {}
function setConfig(
key: keyof Config,
// What typing is needed here to avoid any type
// This should be either string or number depending on the value of key
val: any
) {
config[key] = val
}
Run Code Online (Sandbox Code Playgroud)
function setConfig<K extends keyof Config>(key: K, val: Config[K]) {
config[key] = val
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1053 次 |
最近记录: |