我应该如何键入以下解构数组?
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;
由于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;
游乐场链接