解构

5.1 当需要访问和使用一个对象的多个属性时,使用对象解构

eslint: prefer-destructuring jscs: requireObjectDestructuring

为什么?解构能够让你不用为这些属性创建临时引用

// bad 
function getFullName(user){
  const firstName=user.firstName
  const lastName=user.lastName

  return `${firstName} ${lastName}`
}

// good 
function getFullName(user){
  const {firstName,lastName}=user
  return `${firstName} ${lastName}`
}

// best
function getFullName({firstName,lastName}){
  return `${firstName} ${lastName}`
}

5.2 使用数组解构

eslint: prefer-destructuring jscs: requireArrayDestructuring

const arr=[1,2,3,4]

// bad
const first=arr[0]
const second=arr[1]

// good
const [first,second]=arr

5.3 有多个返回值的时候,用对象解构,而不是数组解构

jscs: disallowArrayDestructuringReturn

为什么?这样你可以在任何时候加入新的属性或者改变他们的顺序

// bad
function processInput(input){
  //then a miracle occurs
  return [left,right,top,bottom]
}

//调用者需要考虑返回的数据的顺序
const [left,_,top]=processInput(input)

// good
function processInput(input){
  // then a miracle occurs
  return {left,right,top,bottom}
}

//调用证只需要直接选择他们需要的数据就可以了
const {left,top}=processInput(input)

results matching ""

    No results matching ""