如何保证属性是接口的一部分?

时间:2018-05-29 13:32:45

标签: typescript typescript2.0

我有一个接受泛型类型的函数:

interface IFilter {
   category: number;
   subject: number;
}

public filter: IFilter;

protected _set<T, U>(key: T, value: U, reset?: true) {
    this.filter[key] = value;
}

如何确保key: T属于IFilter,我的意思是它只能接受categorysubject。关于value: U的相同问题。

我认为更好的是将具体类型传递给IFilter然后执行:

this.filter = value;

1 个答案:

答案 0 :(得分:2)

您可以使用runtime: nodejs api_version: '1.0' env: flexible threadsafe: true automatic_scaling: min_num_instances: 2 max_num_instances: 20 cpu_utilization: target_utilization: 0.5 resources: cpu: 2 memory_gb: 4 disk_size_gb: 20 health_check: enable_health_check: false 并限制泛型参数来扩展它,并使用值类型查询来确保值和键匹配:

keyof