[FE - ConnecTo] DAY23 TILπŸ‘©πŸ»β€πŸ’»

JUNYΒ·2022λ…„ 8μ›” 10일
0

πŸ“šZeroBase ConnecTo Front-End

λͺ©λ‘ 보기
12/53
post-thumbnail

22.08.10 슀슀둜 κ³΅λΆ€ν•œ 것 및 μˆ˜μ—… 쀑 λŸ¬λ²„λ• ν•˜λ©° κ³΅λΆ€ν•œ λ‚΄μš©λ“€μ„ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€ 😊
ν”Όλ“œλ°±μ€ μ–Έμ œλ‚˜ ν™˜μ˜μž…λ‹ˆλ‹€! 🍊

νƒ€μž… λ³€ν™˜?

  • λͺ…μ‹œμ  νƒ€μž… λ³€ν™˜ : νƒ€μž… μΊμŠ€νŒ…, κ°œλ°œμžκ°€ μ˜λ„μ μœΌλ‘œ κ°’μ˜ νƒ€μž…μ„ λ³€ν™˜ν•˜λŠ” 것
  • 암묡적 νƒ€μž… λ³€ν™˜ νƒ€μž… κ°•μ œ λ³€ν™˜, 개발자의 μ˜λ„μ™€λŠ” 상관없이 ν‘œν˜„μ‹μ„ ν‰κ°€ν•˜λŠ” 도쀑에 μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진에 μ˜ν•΄ μ•”λ¬΅μ μœΌλ‘œ νƒ€μž…μ΄ μžλ™μœΌλ‘œ λ³€ν™˜λ˜λŠ” 것

암묡적 νƒ€μž… λ³€ν™˜

1. λ¬Έμžμ—΄ νƒ€μž…μœΌλ‘œ λ³€ν™˜

  • μ—°μ‚°μžλŠ” μˆ˜μ‹μ˜ κΈ°λŠ₯ 뿐만 μ•„λ‹ˆλΌ, ν”Όμ—°μ‚°μž 쀑 ν•˜λ‚˜ 이상이 λ¬Έμžμ—΄μ΄λ©΄, λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μžλ‘œ μž‘λ™ν•œλ‹€.
1 + '2' // "12"

μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μž ν‘œν˜„μ‹μ„ ν‰κ°€ν•˜κΈ° μœ„ν•΄ λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μžμ˜ ν”Όμ—°μ‚°μž μ€‘μ—μ„œ λ¬Έμžμ—΄ νƒ€μž…μ΄ μ•„λ‹Œ ν”Όμ—°μ‚°μžλ₯Ό λ¬Έμžμ—΄ νƒ€μž…μœΌλ‘œ 암묡적 νƒ€μž… λ³€ν™˜ν•œλ‹€.

2. 숫자 νƒ€μž…μœΌλ‘œ λ³€ν™˜

1 - '1' // 0
1 * '10' // 10
1 / 'one' // NaN

μœ„μ—μ„œ μ‚¬μš©ν•œ -, *, / λͺ¨λ‘ μ‚°μˆ  μ—°μ‚°μžμ΄λ‹€. μ‚°μˆ  μ—°μ‚°μžμ˜ 역할은 숫자 값을 λ§Œλ“œλŠ” 데에 있음. λ”°λΌμ„œ μ‚°μˆ  μ—°μ‚°μžμ˜ λͺ¨λ“  ν”Όμ—°μ‚°μžλŠ” μ½”λ“œ λ¬Έλ§₯상 λͺ¨λ‘ 숫자 νƒ€μž…μ΄μ–΄μ•Ό 함.

μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 μ‚°μˆ  μ—°μ‚°μž ν‘œν˜„μ‹μ„ ν‰κ°€ν•˜κΈ° μœ„ν•΄ μ‚°μˆ  μ—°μ‚°μžμ˜ ν”Όμ—°μ‚°μž μ€‘μ—μ„œ 숫자 νƒ€μž…μ΄ μ•„λ‹Œ ν”Όμ—°μ‚°μžλ₯Ό 숫자 νƒ€μž…μœΌλ‘œ 암묡적 νƒ€μž… λ³€ν™˜ν•œλ‹€.

이 λ•Œ, ν”Όμ—°μ‚°μžλ₯Ό 숫자 νƒ€μž…μœΌλ‘œ λ³€ν™˜ν•  수 μ—†λŠ” κ²½μš°λŠ” μ‚°μˆ  연산을 μˆ˜ν–‰ν•  수 μ—†μœΌλ―€λ‘œ, ν‘œν˜„μ‹μ˜ 평과 κ²°κ³ΌλŠ” NaN이 λœλ‹€.

빈 λ¬Έμžμ—΄(’ ’), 빈 λ°°μ—΄([]), null, falseλŠ” 0으둜, trueλŠ” 1둜 λ³€ν™˜λœλ‹€.

κ·Έλ ‡μ§€λ§Œ, 객체와 빈 배열이 μ•„λ‹Œ λ°°μ—΄, undefinedλŠ” λ³€ν™˜λ˜μ§€ μ•Šμ•„ NaN이 λœλ‹€λŠ” 것에 μ£Όμ˜ν•˜μž!

3. λΆˆλ¦¬μ–Έ νƒ€μž…μœΌλ‘œ λ³€ν™˜

πŸ€” λΆˆλ¦¬μ–Έ(Boolean) ?

ifλ¬Έμ΄λ‚˜ forλ¬Έκ³Ό 같은 μ œμ–΄λ¬Έ λ˜λŠ” μ‚Όν•­ 쑰건 μ—°μ‚°μžμ˜ 쑰건식을 λ§ν•˜λ©°, λ…Όλ¦¬μ μœΌλ‘œ μ°Έ / κ±°μ§“μœΌλ‘œ ν‰κ°€λ˜μ–΄μ•Ό ν•˜λŠ” ν‘œν˜„μ‹μ΄λ‹€.

μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 μ‘°κ±΄μ‹μ˜ 평가 κ²°κ³Όλ₯Ό λΆˆλ¦¬μ–Έ νƒ€μž…μœΌλ‘œ 암묡적 νƒ€μž… λ³€ν™˜ν•œλ‹€.

이 λ•Œ, μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 λΆˆλ¦¬μ–Έ νƒ€μž…μ΄ μ•„λ‹Œ 값을 Truthy κ°’(참으둜 ν‰κ°€λ˜λŠ” κ°’) λ˜λŠ” Falsy κ°’(κ±°μ§“μœΌλ‘œ ν‰κ°€λ˜λŠ” κ°’)으둜 κ΅¬λΆ„ν•œλ‹€.

즉, μ œμ–΄λ¬Έμ˜ 쑰건식과 같이 λΆˆλ¦¬μ–Έ κ°’μœΌλ‘œ ν‰κ°€λ˜μ–΄μ•Ό ν•  λ¬Έλ§₯μ—μ„œ Truthy 값은 true둜, Falsy 값은 false둜 암묡적 νƒ€μž… λ³€ν™˜λœλ‹€.

πŸ“Œ false둜 ν‰κ°€λ˜λŠ” Falsy κ°’

  • false
  • undefined
  • null
  • 0, -0
  • NaN
  • β€˜ β€˜ (빈 λ¬Έμžμ—΄)

λͺ…μ‹œμ  νƒ€μž… λ³€ν™˜

1. λ¬Έμžμ—΄ νƒ€μž…μœΌλ‘œ λ³€ν™˜

πŸ“„ λ¬Έμžμ—΄μ΄ μ•„λ‹Œ 값을 λ¬Έμžμ—΄ νƒ€μž…μœΌλ‘œ λ³€ν™˜ν•˜λŠ” 방법 3가지

1. β€˜ β€˜ (빈 λ¬Έμžμ—΄)String μƒμ„±μž ν•¨μˆ˜λ₯Ό new μ—°μ‚°μž 없이 ν˜ΈμΆœν•˜λŠ” 방법
2. Object.prototype.toString λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 방법
3. λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μžλ₯Ό μ΄μš©ν•˜λŠ” 방법

2. 숫자 νƒ€μž…μœΌλ‘œ λ³€ν™˜

πŸ“„ 숫자 νƒ€μž…μ΄ μ•„λ‹Œ 값을 숫자 νƒ€μž…μœΌλ‘œ λ³€ν™˜ν•˜λŠ” 방법 4가지

1. Number μƒμ„±μž ν•¨μˆ˜λ₯Ό new μ—°μ‚°μž 없이 ν˜ΈμΆœν•˜λŠ” 방법
2. parseInt, parseFloat ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 방법 (λ¬Έμžμ—΄λ§Œ 숫자 νƒ€μž…μœΌλ‘œ λ³€ν™˜ κ°€λŠ₯)
3. + 단항 μ‚°μˆ  μ—°μ‚°μžλ₯Ό μ΄μš©ν•˜λŠ” 방법
4. * μ‚°μˆ  μ—°μ‚°μžλ₯Ό μ΄μš©ν•˜λŠ” 방법

3. λΆˆλ¦¬μ–Έ νƒ€μž…μœΌλ‘œ λ³€ν™˜

πŸ“„ λΆˆλ¦¬μ–Έ νƒ€μž…μ΄ μ•„λ‹Œ 값을 λΆˆλ¦¬μ–Έ νƒ€μž…μœΌλ‘œ λ³€ν™˜ν•˜λŠ” 방법 2가지

1. Boolean μƒμ„±μž ν•¨μˆ˜λ₯Ό new μ—°μ‚°μž 없이 ν˜ΈμΆœν•˜λŠ” 방법
2. ! λΆ€μ • 논리 μ—°μ‚°μžλ₯Ό 두 번 μ‚¬μš©ν•˜λŠ” 방법


πŸ“šΒ μ°Έκ³  자료

  • λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep dive
profile
μ„±μž₯ν•˜λŠ” 개발자🌼

0개의 λŒ“κΈ€