打字稿数组解构类型



我应该如何键入以下解构数组?

const [first, ...rest] = this.employee.roles;

上面的代码有效,但项目规则强制进行常量类型。

我试过了:

const first: Role;
const rest: Array<Role>;
[first, ...rest] = this.employee.roles;

但随后我需要更改常量以让[first, ...rest] = this.employee.roles;上班

遵循代码也可以,但它不会误导吗?

const [first, ...rest]: Array<Role> = this.employee.roles;

由于firstRolerestArray<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;

游乐场链接

最新更新