繁体   English   中英

typescript 给出的属性缺少类型

[英]typescript gives property is missing a type

我有一个带有一些默认值的 function,当我尝试调用 function 时,因为它有一些默认值,所以我不需要传递任何默认值,例如

function myFunc(
    {
      str1,
      str2,
      timeout = 3000,
    } : {
      str1: string,
      str2: string,
      timeout: number,
    }
  ): Promise<any | undefined> {
    // some logics here
  }


await myFunc({
      str1: 'string 1',
      str2: 'string 2'
  })

我收到一个错误,例如

Property 'timeout' is missing in type '{ str1: string; str2: string; timeout: number;}'

我该如何解决这个问题,因为声明了一个默认值,如果我不需要覆盖默认值,我不应该传入属性,不是吗?

提前感谢您的任何帮助和建议。

本节只有 JavaScript 语法:

function myFunc(
    {
      str1,
      str2,
      timeout = 3000,
    }

如果该参数未定义,它将分配一个值 3000。 您还需要向 TypeScript 指明参数的类型应该是什么,并且:

{
      str1: string,
      str2: string,
      timeout: number,
}

需要timeout是一个属性。

如果您希望它是可选的,请注意在 TypeScript 类型中,除了使用(发射)JavaScript 的默认值。

function myFunc(
    {
      str1,
      str2,
      timeout = 3000,
    } : {
      str1: string,
      str2: string,
      timeout?: number,
    }
  ): Promise<any | undefined> {
    // some logics here
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM