最近工作中遇到了个很有意思的写法,玩的挺花,因此记录一下~
示例如下:
就是这么一行短短的代码,就能快速从一个对象中快速过滤出自己想要的属性。
不太理解?没事,我来带你逐步分析~
let result = (({ p1, p2, p100 }) => ({ p1, p2, p100 }))(myObj);
{p1,p2,p100}
:解析,只取传入的myObj的p1,p2,p100
(({ p1, p2, p100 }) =>
:箭头函数入参
=> ({ p1, p2, p100 }))
:箭头函数,({ //代码 })
,通过()包起来,只有当箭头后面的标记不是左括号时,JavaScript 才会将箭头函数视为表达式体,因此括号({ //代码 })
内的代码会被解析为一系列语句。