是否可以分解数组的元素,同时还可以分解作为对象的某些属性?
例如,以下代码可编译,但未给出预期的结果:
const array = [1, 2, 3]
array.myvalue = 'test'
function f([a, b, ...{ myvalue }]) {
console.log(a, b, myvalue);
}
f(array)
输出:
1 2 undefined
您可以将对象作为具有所需索引和命名属性的销毁对象。
function f({ 0: a, 1: b, myvalue }) {
console.log(a, b, myvalue);
}
const array = [1, 2, 3]
array.myvalue = 'test'
f(array)