// truthy
true
{} (empty object)
[] (empty array)
73 (number, not zero)
"0", "false" (string, not empty)
// falsy
false
0, -0 (zero, minus zero)
0n (BigInt zero)
'', "", `` (empty string)
null
undefined
NaN (not a number)
// 'button'이라는 변수 안에 엘리먼트를 넣어서 사용
let button;
if (isLoggedIn) {
button = <button onClick={handleLogoutClick}>Logout</button>
}
else{
button = <button onClick={handleLoginClick}>Login</button>
}
return(
<div>
{button}
</div>
)
&& 연산자true && expression -> expression
false && expression -> false
// 읽지 않은 메시지가 0보다 클 때만 출력
<div>
{unreadMessages.length > 0 &&
<h2>
읽지 않은 메시지가 있습니다.
</h2>
}
</div>
? 연산자 사용condition ? true : false
// 'isLoggedIn'이라는 boolen 형태의 로그인 상태를 나타내는 변수의 값에 따라
// 로그인/로그아웃 버튼 컴포넌트를 출력
<div>
{isLoggedIn ? <LogoutButton/> : <LoginButton/>}
</div>
function WarningBanner(props){
if (!props.warning) { // boolen 값이 false일 때
return null; // null을 return해서 출력 방지
}
return ( // true면 출력
<div>Warning</div>
)
}