• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

false expression

23.07.12 15:41 작성 조회수 227

0

Inline If에서 false expression을 사용하면 뒤에 내용은 평가되지 않지만, false expression의 결과 값이 그대로 리턴되기 때문에 주의 해야 한다 이렇게 말씀하셨는데 그러면 하단의 흰색 박스에 조건이 만족하지 않을 경우에도 결과 값을 그대로 리턴하나요..?

답변 1

답변을 작성해보세요.

0

안녕하세요, 소플입니다.

말씀해주신 대로 && 연산자의 앞부분의 조건문이 false(또는 falsy expression)일 경우,

뒷 부분의 조건문은 평가되지 않고 앞 부분의 결과값이 반환됩니다.

이 때 결과값이 false 또는 null일 경우에는 화면에 아무것도 나오지 않게 되는데,

만약 결과값이 0이라면 화면에 0이 그대로 출력됩니다.

이런 상황을 방지하기 위해서는 조건문의 결과값이 무조건 boolean이 되도록 해주는 것이 좋은데,

예를 들면 아래와 !! 연산자를 사용 할 수 있습니다.

{!!(unreadMessages.length > 0) &&
    <h2>
        {`현재 ${unreadMessages.length}개의 읽지 않은 메시지가 있습니다.`}
    </h2>
}

 

감사합니다.