打字稿数组解构类型
Typescript array destructuring type
我应该如何输入以下解构数组?
const [first, ...rest] = this.employee.roles;
上面的代码有效,但项目规则强加了 const 类型。
我试过了:
const first: Role;
const rest: Array<Role>;
[first, ...rest] = this.employee.roles;
但是我需要更改 const 以让 [first, ...rest] = this.employee.roles;
上班
下面的代码也可以,但它不会误导人吗?
const [first, ...rest]: Array<Role> = this.employee.roles;
因为 first
是 Role
而 rest
是 Array<Role>
我不确定这个。
我想要类似这样的东西:
const [first, ...rest]: [first: Role, rest: Array<Role>] = this.employee.roles;
但它没有编译。
是否有一种简洁的输入方式,或者我应该切换到
let first: Role;
let rest: Array<Role>;
[first, ...rest] = this.employee.roles;
我只会使用 onst [first, ...rest]: Array<Role>
。如果您愿意,可以使用元组类型键入 is,但您必须将 first
设为可选,因为无法保证 Role[]
将包含任何元素,它可能为空:
const [first, ...rest]: [first?: Role, ...rest: Array<Role>] = roles;
我应该如何输入以下解构数组?
const [first, ...rest] = this.employee.roles;
上面的代码有效,但项目规则强加了 const 类型。
我试过了:
const first: Role;
const rest: Array<Role>;
[first, ...rest] = this.employee.roles;
但是我需要更改 const 以让 [first, ...rest] = this.employee.roles;
上班
下面的代码也可以,但它不会误导人吗?
const [first, ...rest]: Array<Role> = this.employee.roles;
因为 first
是 Role
而 rest
是 Array<Role>
我不确定这个。
我想要类似这样的东西:
const [first, ...rest]: [first: Role, rest: Array<Role>] = this.employee.roles;
但它没有编译。
是否有一种简洁的输入方式,或者我应该切换到
let first: Role;
let rest: Array<Role>;
[first, ...rest] = this.employee.roles;
我只会使用 onst [first, ...rest]: Array<Role>
。如果您愿意,可以使用元组类型键入 is,但您必须将 first
设为可选,因为无法保证 Role[]
将包含任何元素,它可能为空:
const [first, ...rest]: [first?: Role, ...rest: Array<Role>] = roles;