发布于 2026-01-06 0 阅读
0

JS:使用扩展名排除属性 DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

JS:使用扩展名排除属性

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

我想和你们分享一下这个小技巧,因为我发现自己时不时需要用到它。

JavaScript 中的扩展运算符非常有用。
例如,要创建对象的副本:

const firstObject = {id: 0, name: 'John'};
const secondObject = {...firstObject};

console.log(firstObject);
console.log(secondObject);

// { id: 0, name: 'John'}
// { id: 0, name: 'John'}
Enter fullscreen mode Exit fullscreen mode

但是你知道吗?它还可以用于在展开时排除属性。

const firstObject = {id: 0, firstName: 'John', lastName: 'Smith', age: 77 };
// take every property except age:
const {age, ...secondObject} = firstObject;

console.log(firstObject);
console.log(secondObject);
// { id: 0, firstName: 'John', lastName: 'Smith', age: 77 }
// { id: 0, firstName: 'John', lastName: 'Smith' }
Enter fullscreen mode Exit fullscreen mode

上面的例子会将数据提取出来age作为单独的变量,并将剩余部分放入对象中secondObject。你可以对任意数量的属性执行此操作。

文章来源:https://dev.to/darksmile92/js-use-spread-to-exclude-properties-1km9