Short-Circuiting

  • && 는 두 연산자 모두 true면 true를 리턴, 그렇지 않으면 false를 반환한다.
  • ||는 두 연산자가 모두 false이면 false를 리턴, 그렇지 않은 경우들엔 true를 반환한다.

&&, || operator는 항상 boolean 만 리턴하는건 아니다. 어떠한 값이던 반환할 수 있다.

  • &&은 첫번째 연산자를 계산하고 결과가 true면 두번째 연산자를 계산하고 값을 반환한다. 만약 첫번째 연산 결과가 false이면 두번째는 계산되지 않고 첫 번째 결과를 return 한다.
  • || 또한 첫 번째를 먼저 계산한다. true면 두 번째는 계산되지 않고 첫 번째 결과 값을 return 한다.
    만약 첫 번째 결과가 false이면 두 번째 연산을 진행한 후 결과를 return

🧐 [참고] : Conditional JavaScript for Experts

Conditional (ternary) operator (조건부 (삼항) 연산자)

세 가지 피연산자를 사용하는 연산자.

export const getTodoById = (store, id) => 
  store && store.todos && store.todos.byIds
  ? {...store.todos.byIds[id], id}
  : {};