当前位置: 首页 > 知识库问答 >
问题:

typescript解构赋值怎么指定类型?

汲雅珺
2024-01-24

下面有一个解构赋值,[invoice, customers] 中两个元素的推断类型分别是 const invoiceconst customers

const [invoice, customers] = await Promise.all([    fetchInvoiceById(id),    fetchCustomers(),]);const invoice: {    amount: number;    id?: string | undefined;    date?: string | undefined;    status?: $Enums.InvoiceStatus | undefined;    customerId?: string | undefined;}const customers: {    id: string;    name: string;    email: string;    image_url: string;}[]

现在我要把下面两个类型手动指定给 [invoice, customers] 中对应的元素,即 invoice 的类型为 InvoiceFormcustomers 的类型为 CustomerField,语法应该怎么写?

type InvoiceForm = {    id: string;    customerId: string;    amount: number;    status: 'pending' | 'paid';};type CustomerField = {    id: string;    name: string;};

共有2个答案

景志
2024-01-24
const [invoice, customers]: [InvoiceForm, CustomerField] = await Promise.all([  fetchInvoiceById(id),  fetchCustomers(),]);
相化
2024-01-24

你可以在解构赋值时直接指定类型,如下:

const [invoice: InvoiceForm, customers: CustomerField[]] = await Promise.all([    fetchInvoiceById(id),    fetchCustomers(),]);

这样,invoice的类型就会被推断为InvoiceForm,而customers的类型会被推断为CustomerField[]

 类似资料:
  • JavaScript 中最常用的两种数据结构是 Object 和 Array。 对象让我们能够创建通过键来存储数据项的单个实体,数组则让我们能够将数据收集到一个有序的集合中。 但是,当我们把它们传递给函数时,它可能不需要一个整体的对象/数组,而是需要单个块。 解构赋值 是一种特殊的语法,它使我们可以将数组或对象“拆包”为到一系列变量中,因为有时候使用变量更加方便。解构操作对那些具有很多参数和默认值

  • 怎么通过解构赋值的方式给dir默认值?

  • 在很多流行的编程语言里,都有解构赋值的概念,比如Perl,Python ES6中也加入了类似的赋值语句,比以前的赋值操作更灵活,更快捷 正文 数组的解构赋值很好理解,就是按照对应位置,对变量赋值: let [a, b, c] = [1, 2, 3] 相当于 let a = 1 let b = 2 let c = 3 支持数组嵌套,也支持等号两边结构不同的情况 如果变量对应不上值,这个变量就是und

  • 数组的解构赋值 基本用法 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能直接指定值。 var a = 1; var b = 2; var c = 3; ES6允许写成下面这样。 var [a, b, c] = [1, 2, 3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。 本质上,这种写法属

  • 我是打字新手。我正在使用Express、Node和Typescript进行备份。我有一个具有类型的对象: 我正在创建一个新的水果实例,从JSON文件中重新创建水果类型并填充它 这会产生一个错误。我知道我得到这个错误是因为我分配了一个未知字符串而不是Enum值。我假设解决方案是在将水果类型指定给FruitType对象之前,以某种方式检查水果类型是否为其中一个值。如何修复此错误?

  • 问题内容: 我一直在阅读有关ES6中引入的解构分配的信息。 该语法的目的是什么,为什么要引入它,以及在实践中如何使用它的一些示例? 问题答案: 什么是销毁工作? 该 解构赋值 语法是JavaScript表达式,使得它可以从阵列解压缩的值,或从属性的对象,为不同的变量。 [MDN] 优点 *答 *: 使代码简明易懂。 B. 我们可以轻松避免重复破坏表达。 一些用例 1.要从Objects,array