[Javascript] ๋‹จ์ถ•ํ‰๊ฐ€

๐Ÿ“Œ๋‹จ์ถ•ํ‰๊ฐ€๋ž€ ๋ฌด์—‡์ผ๊นŒ?

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํƒ€์ž… ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ

์ด๋ผ๊ณ ๋Š” ํ•˜๋Š”๋ฐ, ์‚ฌ์‹ค ์ž˜ ์™€๋‹ฟ์ง€ ์•Š๋Š”๋‹ค.

๋‹จ์ถ• ํ‰๊ฐ€๋Š” ํ‘œํ˜„์‹์„ ํ‰๊ฐ€ํ•˜๋Š” ๋„์ค‘์— ํ‰๊ฐ€ ๊ฒฐ๊ณผ๊ฐ€ ํ™•์ •๋œ ๊ฒฝ์šฐ ๋‚˜๋จธ์ง€ ํ‰๊ฐ€ ๊ณผ์ •์„ ์ƒ๋žตํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

์ฑ…์—์„œ ์ด๋ ‡๊ฒŒ๋„ ์„ค๋ช…ํ•˜๋Š”๋ฐ, ์‚ฌ์‹ค ์ด๊ฒƒ๋„ ์ดํ•ดํ•˜๊ธฐ์—” ์–ด๋ ค์›€์ด ์žˆ๋‹ค.

 

 

๐Ÿ”€ ๋…ผ๋ฆฌํ•ฉ ์—ฐ์‚ฐ์ž(||)

๋…ผ๋ฆฌํ•ฉ ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด ๋‹จ์ถ•ํ‰๊ฐ€๋ฅผ ์ดํ•ดํ•ด๋ณด์ž.

true || true

ํ•ด๋‹น ์—ฐ์‚ฐ์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‹น์—ฐํžˆ true์ด๋‹ค.

๋…ผ๋ฆฌํ•ฉ ์—ฐ์‚ฐ์ž(||)๋Š” ๋น„๊ตํ•˜๋Š” ๋Œ€์ƒ(ํ”ผ์—ฐ์‚ฐ์ž) ์ค‘ ํ•˜๋‚˜๋งŒ true์—ฌ๋„ true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด ์ด๋ฒˆ์—” ๊ฒฐ๊ณผ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

true || false

์–˜๋„ ๋‹น์—ฐํžˆ ๋‘˜ ์ค‘์— ํ•˜๋‚˜๊ฐ€ true์ด๋ฏ€๋กœ true๋ฅผ ๋ฐ˜ํ™˜ํ•  ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์„œ js๋Š” ์ฒ˜์Œ์— true๋งŒ์„ ํ™•์ธํ•˜๊ณ ๋„ ๊ฒฐ๊ณผ๊ฐ€ true์ž„์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค(ํ•œ ๊ฐœ๋งŒ true์—ฌ๋„ ๋˜๋‹ˆ๊นŒ)

 

๊ทธ๋Ÿผ ๋‘˜์ด ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅด๋ฉด?

false || true

์ด๋•Œ๋„ ๊ฒฐ๊ณผ ๊ฐ’์€ true์ด์ง€๋งŒ, ์œ„์™€ ๋‹ค๋ฅธ ์ ์€

js๊ฐ€ ์ฒ˜์Œ false๊ฐ€ ์•„๋‹Œ ๋‘๋ฒˆ์งธ true๊นŒ์ง€ ํ™•์ธํ•ด์•ผ true์ž„์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์—ฌ๊ธฐ์„œ ๋‹จ์ถ• ํ‰๊ฐ€์˜ ๋‘๋ฒˆ์งธ ์ •์˜ ์˜€๋˜ 

๋‹จ์ถ• ํ‰๊ฐ€๋Š” ํ‘œํ˜„์‹์„ ํ‰๊ฐ€ํ•˜๋Š” ๋„์ค‘์— ํ‰๊ฐ€ ๊ฒฐ๊ณผ๊ฐ€ ํ™•์ •๋œ ๊ฒฝ์šฐ ๋‚˜๋จธ์ง€ ํ‰๊ฐ€ ๊ณผ์ •์„ ์ƒ๋žตํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

 

๋ฅผ ๋‹ค์‹œ ์ƒ๊ฐํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

์•„๊นŒ true์™€ false๋ฅผ ๋น„๊ตํ•˜๋˜ ์˜ˆ์‹œ์—์„œ ๊ฒฐ๊ณผ๊ฐ€ ํ™•์ •๋˜๋Š” ์‹œ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค.

// ์ฒ˜์Œ ๋‚˜์˜ค๋Š” true์—์„œ ๊ฒฐ๊ณผ๊ฐ€ ํŒ๋‹จ๋จ
true || false

// ๋‘๋ฒˆ์งธ์— ๋‚˜์˜ค๋Š” true์—์„œ ๊ฒฐ๊ณผ๊ฐ€ ํŒ๋‹จ๋จ 
false || true

์ด ์˜ˆ์‹œ์—์„œ๋Š” ๋‘˜ ๋‹ค ์ตœ์ข… ๊ฒฐ๊ณผ๊ฐ€ true์—์„œ ํฌ๊ฒŒ ๋‹ฌ๋ผ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.

 

๊ทธ๋ ‡์ง€๋งŒ ๋‹จ์ˆœํ•œ true๋‚˜ false๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด? 

'ํ–„์Šคํ„ฐ' || '๊ฐ•์•„์ง€'

์ด ๊ฒฝ์šฐ์— ๋ฌธ์ž์—ด์€ Truthy๊ฐ’์ด๋ฏ€๋กœ true๋กœ ํ‰๊ฐ€๋œ๋‹ค.

์ฆ‰ ๋‘˜๋‹ค true์ด๋ฏ€๋กœ, ํ‰๊ฐ€๋Š” ์ฒ˜์Œ ๋‚˜์˜ค๋Š” 'ํ–„์Šคํ„ฐ'์—์„œ ์ด๋ฏธ ๊ฒฐ๊ณผ๊ฐ€ ๋๋‚˜๋Š” ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์„œ ๋‹จ์ถ• ํ‰๊ฐ€๋Š” 

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํƒ€์ž… ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ

์ด๋ผ๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ, ํƒ€์ž… ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ 'ํ–„์Šคํ„ฐ'๋ฅผ ๋ฐ˜ํ™˜ํ•  ๊ฒƒ์ด๋‹ค.

 

  • ์ถ”๊ฐ€ ์˜ˆ์‹œ๋“ค
'ํ–„์Šคํ„ฐ' || false      // 'ํ–„์Šคํ„ฐ'
false || 'ํ–„์Šคํ„ฐ'      // 'ํ–„์Šคํ„ฐ'
'๊ฐ•์•„์ง€' || 'ํ–„์Šคํ„ฐ'   // '๊ฐ•์•„์ง€'
false || false         // false

 

 

 

โœ… ๋…ผ๋ฆฌ๊ณฑ ์—ฐ์‚ฐ์ž(&&)

์—ฐ์‚ฐ ๋Œ€์ƒ์ด ๋ชจ๋‘ true์—ฌ์•ผํ•˜๋Š” ๋…ผ๋ฆฌ๊ณฑ ์—ฐ์‚ฐ์ž์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž

true && true

๋‘˜ ๋‹ค true์ผ ๋•Œ ์–ธ์ œ ๊ฒฐ๊ณผ๊ฐ€ ํŒ๋‹จ์ด ๋˜๋Š”์ง€๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋œ๋‹ค.

์ฒซ๋ฒˆ์งธ true๋งŒ์œผ๋กœ๋Š” ์ „์ฒด ๊ฒฐ๊ณผ๊ฐ€ ์–ด๋–จ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค. ๋‘๋ฒˆ์งธ true๊นŒ์ง€ ํ™•์ธํ•ด์•ผ ์ „์ฒด๊ฐ€ true์ž„์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.

 

'์ถ˜๋ฐฐ' && '๋‚˜๋น„'

 

๋‘˜ ๋‹ค ๋ฌธ์ž์—ด์ผ ๋•Œ, ๋ฌธ์ž์—ด์€ Truthy๊ฐ’์ด๋ฏ€๋กœ ๋‘˜ ๋‹ค true๋กœ ํ‰๊ฐ€๋˜์ง€๋งŒ,

๋…ผ๋ฆฌ๊ณฑ ์—ฐ์‚ฐ์ž์—์„œ๋Š” ํ‰๊ฐ€ ํ™•์ •์€ ๋‘๋ฒˆ์งธ ๋ฌธ์ž์—ด์—์„œ ํŒ๋‹จ๋œ๋‹ค.

์ฆ‰, ํ•ด๋‹น ๋…ผ๋ฆฌ๊ณฑ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋Š” "๋‚˜๋น„"๊ฐ€ ๋œ๋‹ค.

 

  • ์ถ”๊ฐ€ ์˜ˆ์‹œ๋“ค
'์ถ˜๋ฐฐ' && '๋‚˜๋น„'      // '๋‚˜๋น„'
false && '์ถ˜๋ฐฐ'       // false
'์ถ˜๋ฐฐ' && false       // false

 

 


โšก ๋‹จ์ถ•ํ‰๊ฐ€์˜ ํ™œ์šฉ

1. if ๋ฌธ์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Œ

  • ์กฐ๊ฑด์ด true์ผ ๋•Œ = ๋…ผ๋ฆฌ๊ณฑ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ(&&)
let done = true
let message = ''

// if ๋ฌธ์„ ์‚ฌ์šฉํ•  ๋•Œ
if (done) message = '์™„๋ฃŒ!'

// ๋‹จ์ถ• ํ‰๊ฐ€๋กœ ๋Œ€์ฒดํ•  ๋•Œ
message = done && '์™„๋ฃŒ!'

๋…ผ๋ฆฌ๊ณฑ(&&) ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด done์ด true์ผ ๋•Œ '์™„๋ฃŒ!' ๋ผ๊ณ  ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

  • ์กฐ๊ฑด์ด false์ผ ๋•Œ = ๋…ผ๋ฆฌํ•ฉ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ(||)
let done = false
let message = ''

// if ๋ฌธ ์‚ฌ์šฉ
if (!done) message = '์•„์ง์ž„'

// ๋…ผ๋ฆฌํ•ฉ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ
message = done || '๋ฏธ์™„๋ฃŒ'

done์ด false๋ผ๋ฉด '๋ฏธ์™„๋ฃŒ'๊ฐ€ ์ €์žฅ๋œ๋‹ค.

 

๋”๋ณด๊ธฐ


ํ•˜์ง€๋งŒ ๋‘๊ฐ€์ง€ ์˜ˆ์‹œ ๋ชจ๋‘, done์ด ์›ํ•˜๋Š” ๊ฒฐ๊ณผ์™€ ๋‹ค๋ฅด๋‹ค๋ฉด false๊ฐ€ ์ €์žฅ๋˜๋ฏ€๋กœ ๋•Œ์— ๋”ฐ๋ผ์„œ ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค(if else๋ฌธ์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Œ)

let done = false
let message = done ? '์™„๋ฃŒ' : '๋ฏธ์™„๋ฃŒ'

 

2. ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๊ฐ€ null์ด๊ฑฐ๋‚˜ undefined์ผ ๋•Œ ์ƒ๊ธฐ๋Š” ์—๋Ÿฌ๋ฅผ ๋ง‰๊ณ  ์‹ถ์„ ๋•Œ

let ๊ณ ์–‘์ด = null
let ์ด๋ฆ„ = ๊ณ ์–‘์ด.์ด๋ฆ„     // TypeError: Cannot read property '์ด๋ฆ„' of null

๊ฐ์ฒด์— ํ”„๋กœํผํ‹ฐ๊ฐ€ ์ •์˜๋˜์ง€ ์•Š๊ฑฐ๋‚˜ null์ด๋ฉด TypeError๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด ๋•Œ ๋‹จ์ถ•ํ‰๊ฐ€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—๋Ÿฌ๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.

let ๊ณ ์–‘์ด = null
let ์ด๋ฆ„ = ๊ณ ์–‘์ด && ๊ณ ์–‘์ด.์ด๋ฆ„     // null

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ณ ์–‘์ด๊ฐ€ null์ด๋ฏ€๋กœ ๋…ผ๋ฆฌ๊ณฑ์—ฐ์‚ฐ์ž์—์„œ ๋ฐ”๋กœ null์„ ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ๋ƒ„

 

 

3. ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•  ๋•Œ

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜์—๋Š” undefined๊ฐ€ ํ• ๋‹น๋œ๋‹ค.

function print(str) {
	console.log(str)
}

print()    // undefined, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ

์ด ๋•Œ, ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์ง€ ์•Š๋Š” ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•ด์ฃผ๊ณ  ์‹ถ์œผ๋ฉด ๋‹จ์ถ•ํ‰๊ฐ€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

function print(str) {
	str = str || '๋งค๊ฐœ๋ณ€์ˆ˜ ํ™•์ธํ•˜์„ธ์š”'
    console.log(str)
}

print()      // '๋งค๊ฐœ๋ณ€์ˆ˜ ํ™•์ธํ•˜์„ธ์š”'

ํ•˜์ง€๋งŒ ์ด๊ฒฝ์šฐ์—๋Š” print(0), print(null)๊ณผ ๊ฐ™์ด Falsy๋กœ ํŒ๋‹จ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋ฉด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿด ๋•Œ์—๋Š” ES6์˜ ๊ธฐ๋ณธ๊ฐ’ ์„ค์ • ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ž

function print(str = '๊ธฐ๋ณธ๊ฐ’') {
	console.log(str)
}

print()      // ๊ธฐ๋ณธ๊ฐ’
print(0)     // 0

 

 


๋…ผ๋ฆฌํ•ฉ ์—ฐ์‚ฐ์ž์™€ ๋…ผ๋ฆฌ๊ณฑ ์—ฐ์‚ฐ์ž ์™ธ์—๋„ ES11์—์„œ ๋„์ž…๋œ ๋‹จ์ถ•ํ‰๊ฐ€๊ฐ€ ๋” ์žˆ๋‹ค.

 

๐Ÿ”—์˜ต์…”๋„ ์ฒด์ด๋‹ ์—ฐ์‚ฐ์ž(?.)

์ขŒํ•ญ์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ null ๋˜๋Š” undefined์ธ ๊ฒฝ์šฐ undefined๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ์šฐํ•ญ์˜ ํ”„๋กœํผํ‹ฐ ์ฐธ์กฐ๋ฅผ ์ด์–ด๊ฐ„๋‹ค.

let ๊ณ ์–‘์ด = null

let ์ด๋ฆ„ = ๊ณ ์–‘์ด?.์ด๋ฆ„    // undefined

 

ES11์—์„œ ๋„์ž…๋˜์—ˆ๊ณ , ์ด์ „์—๋Š” ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž &&๋ฅผ ์‚ฌ์šฉํ•œ ๋‹จ์ถ•ํ‰๊ฐ€๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ฐจ์ด์ ๋„ ์กด์žฌํ•œ๋‹ค.

  • ๋…ผ๋ฆฌ๊ณฑ ์—ฐ์‚ฐ์ž(&&): ์ขŒํ•ญ์ด false๋กœ ํ‰๊ฐ€๋˜๋Š” ๊ฐ’์ด๋ฉด ๋ฐ”๋กœ ๋ฐ˜ํ™˜
  • ์˜ต์…”๋„ ์ฒด์ด๋‹ ์—ฐ์‚ฐ์ž(?.): ์ขŒํ•ญ์ด false๋กœ ํ‰๊ฐ€๊ฐ€ ๋˜์–ด๋„ null๊ณผ undefined๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ํ”„๋กœํผํ‹ฐ ์ฐธ์กฐ๋ฅผ ์ด์–ด๊ฐ
let ๊ณ ์–‘์ด = ''
console.log(๊ณ ์–‘์ด && ๊ณ ์–‘์ด.length)   // ''   -> ๋นˆ๋ฌธ์ž์—ด์ด false๋กœ ํŒ๋‹จ๋จ, ๋ฐ”๋กœ ํ‰๊ฐ€
console.log(๊ณ ์–‘์ด?.length)            // 0    -> false์ง€๋งŒ, null์ด๋‚˜ undefined๊ฐ€ ์•„๋‹˜

 

 

๐Ÿ›’null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž(??)

์ขŒํ•ญ์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ null ๋˜๋Š” undefined์ธ ๊ฒฝ์šฐ ์šฐํ•ญ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ์ขŒํ•ญ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ฐ˜ํ™˜

๋ณ€์ˆ˜์— ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๊ธฐ์— ์œ ์šฉํ•˜๋‹ค.

 let ๋ณ€์ˆ˜ = null ?? '๊ธฐ๋ณธ๊ฐ’'
 console.log(๋ณ€์ˆ˜)           // '๊ธฐ๋ณธ๊ฐ’'

 

null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž๋„ ES11์— ๋„์ž…๋˜์—ˆ๋Š”๋ฐ, ๊ทธ ์ „์—๋Š” ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž(||)๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜์˜€๋‹ค.

์—ฌ๊ธฐ์„œ๋„ ์ฐจ์ด์ ์ด ์กด์žฌํ•œ๋‹ค.

  • ๋…ผ๋ฆฌํ•ฉ ์—ฐ์‚ฐ์ž(||): ์ขŒํ•ญ์ด fasle๋กœ ํŒ๋‹จ๋˜๋ฉด ์šฐํ•ญ์„ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜, 0์ด๋‚˜ ''๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์˜ˆ์ƒ ๋ชปํ•œ ๋™์ž‘์ด ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Œ
let ๋ณ€์ˆ˜ = '' || '๊ธฐ๋ณธ๊ฐ’'
console.log(๋ณ€์ˆ˜)     // '๊ธฐ๋ณธ๊ฐ’'

let ์ˆซ์ž = 0 || 10
console.log(์ˆซ์ž)     // 10
  • null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž(??): ์ขŒํ•ญ์ด false๋กœ ํŒ๋‹จ๋˜๋”๋ผ๋„ null์ด๋‚˜ undefined๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์ขŒํ•ญ์„ ๋ฐ˜ํ™˜
let ๋ณ€์ˆ˜ = '' ?? '๊ธฐ๋ณธ๊ฐ’'
console.log(๋ณ€์ˆ˜)     // ''

let ์ˆซ์ž = 0 ?? 10
console.log(์ˆซ์ž)     // 0

 

 

์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ์–ด๋–ค ๊ฑธ ์‚ฌ์šฉํ• ์ง€ ์•Œ๋ ค๋ฉด ์ด๋Ÿฐ๊ฑธ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.



 

๋”๋ณด๊ธฐ

์ถœ์ฒ˜

๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive(์ด์›…๋ชจ, ์œ„ํ‚ค๋ถ์Šค)