๋ฐ˜์‘ํ˜•

๋ฆฌ์•กํŠธ์—์„  null, undefined, boolean ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€ ํƒ€์ž…๋งŒ ๋ Œ๋”๋ง์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ์  ๊ธฐ์–ต

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ 0(ํ˜น์€ -0, 0n)์€ 6๊ฐ€์ง€ falsy ๊ฐ’ ์ค‘ ํ•˜๋‚˜๋‹ค. && AND ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋Š” ์ฒซ๋ฒˆ์งธ falsy ๊ฐ’์„ ์ฐพ์•„์„œ ๋ฐ˜ํ™˜ํ•˜๊ณ , falsy ๊ฐ’์ด ์—†์œผ๋ฉด(ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋ชจ๋‘ true์ด๋ฉด) ๋งˆ์ง€๋ง‰ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค(๋ฐ˜๋Œ€๋กœ || OR ์—ฐ์‚ฐ์ž๋Š” ์ฒซ ๋ฒˆ์งธ truthy ๊ฐ’์„ ์ฐพ์•„ ๋ฐ˜ํ™˜ํ•˜๊ณ , truthy ๊ฐ’์ด ์—†์œผ๋ฉด && ์—ฐ์‚ฐ์ž์ฒ˜๋Ÿผ ๋งˆ์ง€๋ง‰ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค).

0 && 'bit'; // 0
-0 && 'bit'; // -0
0n && 'bit'; // 0n

 

React์—์„œ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ && ์—ฐ์‚ฐ์ž๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ์—์„œ count ๋ณ€์ˆ˜์— ๋‹ด๊ธด 0์€ falsy ๊ฐ’์ด๋ฏ€๋กœ ํ™”๋ฉด์— ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๊ฑธ ๊ธฐ๋Œ€ํ–ˆ์ง€๋งŒ, ํ™”๋ฉด์—” 0์„ ์ถœ๋ ฅํ•œ๋‹ค. falsy && ํ‘œํ˜„์‹ ์€ falsy ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , React์—์„  falsy ๊ฐ’์ธ 0์„ ๊ทธ๋Œ€๋กœ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ธฐ ๋•Œ๋ฌธ.

// ์ปดํฌ๋„ŒํŠธ ๋ณธ๋ฌธ
const count = 0;
return <div>{count && <h1>Hello World</h1>}</div>;

 

์œ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด && ์•ž์˜(์ขŒํ•ญ) ํ‘œํ˜„์‹์ด falsy ๊ฐ’์ด ์•„๋‹Œ boolean(true|false) ํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค. ๋ฆฌ์•กํŠธ์—์„œ && ์ขŒํ•ญ ํ‘œํ˜„์‹์ด false์ด๋ฉด(falsy ๊ฐ’์ด ์•„๋‹Œ boolean false์ธ ์  ์ฃผ์˜) ํ•ด๋‹น ์ค„์˜ ์ค‘๊ด„ํ˜ธ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ๊ฑด๋„ˆ๋›ด๋‹ค.

// ์ปดํฌ๋„ŒํŠธ return ๋ฌธ
// && ์ขŒํ•ญ ํ‘œํ˜„์‹์ด ๋ชจ๋‘ false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ ํ™”๋ฉด์— ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค
{count > 0 && <h1>Hello World</h1>} // ๋ฐฉ๋ฒ• 1
{!!count && <h1>Hello World</h1>} // ๋ฐฉ๋ฒ• 2
{Boolean(count) && <h1>Hello World</h1>} // ๋ฐฉ๋ฒ• 3

 

๋˜ํ•œ, ๋ฆฌ์•กํŠธ์—์„  null, undefined, boolean(false๋ฉด ๊ฑด๋„ˆ๋›ฐ๊ณ  true๋ฉด && ๋’ค์˜ ํ‘œํ˜„์‹ ์ถœ๋ ฅ) ํƒ€์ž…์— ๋Œ€ํ•ด์„œ๋งŒ ๋ Œ๋”๋ง์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ์ ๋„ ๊ธฐ์–ตํ•˜์ž.

// ์ปดํฌ๋„ŒํŠธ return ๋ฌธ
// ์•„๋ž˜ ์˜ˆ์‹œ ๋ชจ๋‘ ํ™”๋ฉด์— ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค
{null && <h1>Hello World</h1>}
{undefined && <h1>Hello World</h1>}
{false && <h1>Hello World</h1>}

 

๐Ÿ’ก ์ฐธ๊ณ ๋กœ ๋ฆฌ์ŠคํŠธ(๋ฐฐ์—ด)๋ฅผ ๋ Œ๋”๋ง ํ•  ๋•Œ, ๋ฆฌ์ŠคํŠธ๊ฐ€ [] ๋นˆ ๋ฐฐ์—ด์ด๋ฉด ํ™”๋ฉด์— ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

์ฐธ๊ณ  ์ž๋ฃŒ


 


๊ธ€ ์ˆ˜์ •์‚ฌํ•ญ์€ ๋…ธ์…˜ ํŽ˜์ด์ง€์— ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”
๋ฐ˜์‘ํ˜•