더북(TheBook)

한 가지 주의할 것은 1번은 2, 3번 조건과 판단 기준이 다르다는 점입니다. 세 글자가 아니면 나머지 두 조건을 검사할 필요 없이 바로 ‘아니요’로 넘어가지만, 1번 조건이 맞으면 2번과 3번 조건 중 하나 이상을 만족해야 ‘예’로 넘어갈 수 있습니다. 2번과 3번 둘 다 만족하지 않으면 ‘아니요’로 넘어갑니다. 즉, 2번과 3번 조건은 OR 관계이고, 1번과 2, 3번 조건은 AND 관계입니다. 따라서 조건을 다음과 같이 표현할 수 있습니다.

세 글자인가 AND (제시어가 비어 있는가 OR 맞는 단어인가)

이를 그대로 코드로 옮기면 됩니다. 괄호가 없으면 AND가 OR보다 우선순위가 높아 결과가 달라집니다. 괄호 유무에 따라 결과가 달라지는 경우가 많으니 우선순위가 헷갈린다면 괄호를 적극 활용하세요.

const onClickButton = () => {
  // 세 글자이면서 제시어가 비어 있거나 입력한 단어가 맞는 단어인가?
  if (newWord.length === 3 && (!word || word.at(-1) === newWord[0])) {
    (중략) 
  }
  $input.value = '';
  $input.focus();
};
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.