typescript - typescript 中的通用对象类型

标签 typescript object types

在 typescript 中有什么方法可以为变量分配通用对象类型。 这就是我所说的“通用对象类型”

let myVariable: GenericObject = 1 // Should throw an error
                              = 'abc' // Should throw an error
                              = {} // OK
                              = {name: 'qwerty'} //OK

即它应该只允许将 javascript 对象分配给变量,不允许其他类型的数据(数字、字符串、 bool 值)

最佳答案

当然了:

type GenericObject = { [key: string]: any };

let myVariable1: GenericObject = 1; // Type 'number' is not assignable to type '{ [key: string]: any; }'
let myVariable2: GenericObject = 'abc'; // Type 'string' is not assignable to type '{ [key: string]: any; }'
let myVariable3: GenericObject = {} // OK
let myVariable4: GenericObject = {name: 'qwerty'} //OK

( code in playground )

关于typescript - typescript 中的通用对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641370/

相关文章:

angular - 向导中的表单组(检查某些元素的验证)

node.js - 从 NPM 包中导出多个模块

javascript - typescript 中具有动态返回的函数

java - 将 Main 中发生的另一个类文件中启动的数组对象添加到堆栈中

performance - 为什么类型检查很昂贵?

elasticsearch - 我可以将Elasticsearch中的字段类型同时设置为ip和ip_range吗?

javascript - 路由到同一页面上的多个组件

jquery - 如何使用 jquery Extend 扩展 json 对象?

c# - 遍历具有相同基类的对象列表并提取某个类?

c - 在 C 中传递枚举