访问和使用对象的多个属性时,使用对象解构。
为什么? 结构可以帮助您避免为这些属性创建临时引用。
// badfunction getFullName(user) { const firstName = user.firstName; const lastName = user.lastName; return `${firstName} ${lastName}`;}// goodfunction getFullName(user) { const { firstName, lastName } = user; return `${firstName} ${lastName}`;}// bestfunction getFullName({firstName,lastName}) { return `${firstName} ${lastName}`;}
使用数组解构
const arr = [1, 2, 3, 4];// badconst first = arr[0];const second = arr[1];// goodconst [first, second] = arr;
对多个返回值使用对象解析,而不是数组解构。
为什么? 你可以增加新的属性或改变事物的秩序而不破坏调用点。
// badfunction processInput(input) { // then a miracle occurs return [left, right, top, bottom];}// the caller needs to think about the order of return dataconst [left, __, top] = processInput(input);// goodfunction processInput(input) { // then a miracle occurs return { left, right, top, bottom };}// the caller selects only the data they needconst { left, right} = processInput(input);
扫码申请加入全栈部落 |
---|