โ†ย ๋’ค๋กœ๊ฐ€๊ธฐ

1์žฅ ์ฑ•ํ„ฐ 4. ๊ฐ•์ œ๋ณ€ํ™˜

2023/02/25

๊ฐ•์ œ๋ณ€ํ™˜

  • ๋ณ€ํ™˜์€ ์•”์‹œ์ ์œผ๋กœ๋„, ๋ช…์‹œ์ ์œผ๋กœ๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

boolean๊ฐ’

  • JS์˜ ๊ฒฝ์šฐ, boolean์œผ๋กœ ๊ฐ•์ œ๋ณ€ํ™˜ ์‹œ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์ˆ˜๊ฐ€ ์ •์˜๋˜์–ด์žˆ๋‹ค.
  • ๊ทธ๋ž˜์„œ ์•„๋ž˜์˜ ๊ฒฝ์šฐ false๋กœ ๊ฐ•์ œ๋ณ€ํ™˜๋œ๋‹ค.
    ๊ฐ•์ œ๋ณ€ํ™˜ ์‹œ false๊ฐ€ ๋˜๋Š” ๊ฐ’๋“ค
    undefined
    null
    false
    0
    NaN
    ""

falsy ๊ฐ์ฒด

  • ๊ฐ์ฒด๋Š” truthyํ•˜๋‹ค. ๊ทผ๋ฐ falsy๊ฐ์ฒด๊ฐ€ ๋”ฐ๋กœ ์žˆ๋‹ค.
  • ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ document.all์ด ์žˆ๋‹ค.
  • ์›นํŽ˜์ด์ง€์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ๋น„ํ‘œ์ค€์ด๋‹ค.
    ํ•˜์ง€๋งŒ. ์—ฌ๊ธฐ์— ์˜์กดํ•˜๋Š” ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๊ฐ€ ๋งŽ๋‹ค๋ณด๋‹ˆ ํ•จ๋ถ€๋กœ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.
  • ๊ทผ๋ฐ ์ด๊ฑธ ๊ฐ€์ง€๊ณ  ๋น„ํ‘œ์ค€ IE๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ์ˆ˜๋‹จ์œผ๋กœ๋„ ์ค„๊ณง ์จ์™”๋‹ค.
  • document.all์„ ์—†์• ๋ฒ„๋ฆด ์ˆ˜ ๋„ ์—†๋Š”๋ฐ, ๊ฐ•์ œ๋ณ€ํ™˜์‹œ false๊ฐ€ ๋‚˜์™€์•ผ ํ•œ๋‹ค. ๋ฐ˜ํ™˜๊ฐ’์ด ๊ฐ์ฒด์ธ๋ฐ๋„!
  • ๊ทธ๋ž˜์„œ document.all์€ falsyํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค...

๋ช…์‹œ์  ๊ฐ•์ œ๋ณ€ํ™˜

  • Number(), String()๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…์‹œ์ ์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. new ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค.
  • ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.
  • ๋‚ ์งœ๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ฉด ์ˆซ์ž๋ฅผ ๋‚ ์งœ๋กœ ๋ณ€ํ™˜ํ•˜์ง€๋Š” ๋ชปํ•œ๋‹ค.

ํ‹ธ๋“œ

  • indexOf์˜ ๊ฒฐ๊ณผ, ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ -1์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ ์„ ์ด์šฉํ•˜์—ฌ, ํ‹ธ๋“œ์—ฐ์‚ฐ์ž์™€ ์กฐํ•ฉํ•˜์—ฌ boolean์œผ๋กœ ๊ฐ•์ œ๋ณ€ํ™˜ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.
  • ํ‹ธ๋“œ๋ฅผ ๋‘๋ฒˆ ์จ์„œ ๋น„ํŠธ๋ฅผ ๋‘๋ฒˆ ๋’ค์ง‘์–ด์„œ ๋‚ด๋ฆผ์„ ๊ตฌํ˜„ํ•˜๊ธฐ๋„ ํ•˜๋Š”๋ฐ, ์Œ์ˆ˜์ผ๋•Œ ์˜ฌ๋ฆผ์„ ํ•ด๋ฒ„๋ฆฌ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋‹ˆ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

๋ฌธ์ž์—ด ํŒŒ์‹ฑ

  • ํŒŒ์‹ฑ์€ ์ขŒ์—์„œ ์šฐ๋กœ ์ฝ์œผ๋ฉด์„œ, ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฐ’์„ ๋งŒ๋‚˜๋ฉด ๋ฉˆ์ถ”๋Š” ๋ฐ˜๋ฉด, ๊ฐ•์ œ ๋ณ€ํ™˜์€ NaN์„ ๋˜์ง„๋‹ค.

JS์—์„œ์˜ ๋…ผ๋ฆฌ and, or ์—ฐ์‚ฐ์ž

  • ๊ฒฐ๊ณผ๊ฐ’์ด boolean์ด ์•„๋‹Œ ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ํ•œ์ชฝ์˜ ๊ฐ’์ด๋‹ค.
  • ๋Œ€์ถฉ ์•„๋ž˜์™€ ๊ฐ™์ด ๋™์ž‘ํ•œ๋‹ค
    • a || b ๋Š” a ? a : b
    • a && b ๋Š” a ? b : a
  • ๊ทผ๋ฐ ๊ทธ๋ƒฅ ์‚ผํ•ญ์—ฐ์‚ฐ์ž ์“ฐ๋Š”๊ฒŒ ๋‚ซ์ง€ ์•Š์€์ง€...?

๋А์Šจํ•œ ๋น„๊ต์™€ ์—„๊ฒฉํ•œ ๋™๋“ฑ ๋น„๊ต

  • ๋А์Šจํ•œ ๋น„๊ต๋Š” ๊ฐ•์ œ๋ณ€ํ™˜์„ ํ—ˆ์šฉํ•˜์ง€๋งŒ, ์—„๊ฒฉํ•œ ๋น„๊ต๋Š” ํ—ˆ์šฉ ํ•˜์ง€ ์•Š๋Š”๋‹ค.