Arrays Typescript不是嵌套的对象类型

Arrays Typescript不是嵌套的对象类型,arrays,typescript,object,nested,Arrays,Typescript,Object,Nested,我想声明非嵌套的泛型对象类型(值不是对象/数组,仅原语) 例如: 有效期: { a:"value", b:false, c:4 } 无效: { a:{b:"c"} } { a:[5] } 类似这样的内容(当然是无效声明): 幸运的是,typescript中没有太多的基本类型,所以您可以简单地在联合类型中列出它们 interface NotNestedObject { [x: string]: number|boolean|string

我想声明非嵌套的泛型对象类型(值不是对象/数组,仅原语)

例如:

有效期:

{
 a:"value",
 b:false,
 c:4
}
无效:

{
a:{b:"c"}
}

{
a:[5]
}
类似这样的内容(当然是无效声明):


幸运的是,typescript中没有太多的基本类型,所以您可以简单地在联合类型中列出它们

interface NotNestedObject  {
    [x: string]: number|boolean|string|null|undefined;
}
如果你想包括日期

interface NotNestedObject  {
    [x: string]: number|boolean|string|Date|null|undefined;
}
interface NotNestedObject  {
    [x: string]: number|boolean|string|Date|Function|null|undefined;
}
如果您希望函数也包括在内

interface NotNestedObject  {
    [x: string]: number|boolean|string|Date|null|undefined;
}
interface NotNestedObject  {
    [x: string]: number|boolean|string|Date|Function|null|undefined;
}
当然,如果不希望允许,可以删除null和undefined。默认情况下,除非启用了strictNullChecks编译器选项,否则将包含它们