πŸ“—
TIL
  • About
  • javascript
    • GoodParts
      • ν”„λ‘œν† νƒ€μž… 방식
      • RegexComponent
      • μž¬κ·€μ  호좜 (Recursive Call)
      • 객체λ₯Ό κΈ°μˆ ν•˜λŠ” 객체
      • μ˜ˆμ™Έ (Exception)
      • 호좜
      • λ¬Έμžμ—΄ (Strings)
      • μ°Έμ‘° (Reference)
      • λ°°μ—΄μ˜ νŠΉμ„±λ“€
      • 숫자 (Numbers)
      • λ©”λͺ¨μ΄μ œμ΄μ…˜ (Memoization)
      • λͺ¨λ“ˆ (Module)
      • μ—΄κ±° (Enumeration)
      • μ •κ·œ ν‘œν˜„μ‹
      • μ •κ·œ ν‘œν˜„μ‹ 객체 생성
      • ν”„λ‘œν† νƒ€μž… (Prototype)
      • 콜백 (Callback)
      • λ¬Έμž₯ (Statements)
      • ν•¨μˆ˜ ν‘œν˜„μ‹ μš”μ•½
      • μ˜μ‚¬ 클래슀 방식 (Pseudoclassical)
      • ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•œ 방식
      • ν΄λ‘œμ € (Closer)
      • λ°°μ—΄ (Array)
      • κΈ°λ³Έ νƒ€μž…μ— κΈ°λŠ₯ μΆ”κ°€
      • μžλ°”μŠ€ν¬λ¦½νŠΈ 뢄석
      • 인수 λ°°μ—΄(arguments)
      • Function
      • μœ νš¨λ²”μœ„(Scope)
    • YouDon'tKnowJS
      • νƒ€μž…
      • Native
      • λͺ…μ‹œμ  κ°•μ œλ³€ν™˜
      • λ¬Έμžμ—΄
      • ν•¨μˆ˜ vs 블둝 μŠ€μ½”ν”„
      • ν΄λ‘œμ €
      • λ°°μ—΄
      • 숫자
      • μ—°μ‚°μž μš°μ„ μˆœμœ„
      • μŠ€μ½”ν”„
      • μ•”μ‹œμ  κ°•μ œλ³€ν™˜
      • 래퍼
      • Statement
      • ν˜Έμ΄μŠ€νŒ…
      • Coercion
    • javascript
Powered by GitBook
On this page
  • Coercive Type Conversion
  • κ°’ λ³€ν™˜
  • 좔상 μ—°μ‚°

Was this helpful?

  1. javascript
  2. YouDon'tKnowJS

Coercion

Coercive Type Conversion

κ°•μ œλ³€ν™˜μ΄ μœ μš©ν•œ κΈ°λŠ₯인지, μ–Έμ–΄ 섀계상 κ²°ν•¨μΈμ§€λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈκ°€ λ‚˜μ™”μ„ λ•ŒλΆ€ν„° λ…Όλž€ κ±°λ¦¬μ˜€λ‹€.

κ°’ λ³€ν™˜

μ–΄λ–€ 값을 λ‹€λ₯Έ νƒ€μž…μ˜ κ°’μœΌλ‘œ λ°”κΎΈλŠ” 과정이 λͺ…μ‹œμ μ΄λ©΄ 'νƒ€μž… μΊμŠ€νŒ…', μ•”μ‹œμ μ΄λ©΄ 'κ°•μ œλ³€ν™˜'

좔상 μ—°μ‚°

μ–΄λ–»κ²Œ 값이 λ¬Έμžμ—΄, 숫자, λΆˆλ¦¬μ–Έ λ“±μ˜ νƒ€μž…μ΄ λ˜λŠ”μ§€ κ·Έ κΈ°λ³Έ κ·œμΉ™μ„ μ•Œμ•„λ³΄μž

ToString

  • μ›μ‹œκ°’μ€ μ˜ˆμƒλŒ€λ‘œ κ·Έλƒ₯ λ¬Έμžμ—΄λ‘œ λ°”λ€Œκ³  λ„ˆλ¬΄ μž‘κ±°λ‚˜ 큰 μˆ«μžλŠ” μ§€μˆ˜ν˜•νƒœλ‘œ 바뀐닀

  • 일반 κ°μ²΄λŠ” νŠΉλ³„νžˆ μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ 기본적으둜 ToString() λ©”μ„œλ“œκ°€ λ‚΄λΆ€ [[Class]]λ₯Ό λ°˜ν™˜ν•œλ‹€

  • 배열은 λ¬Έμžμ—΄ λ³€ν™˜ μ‹œ λͺ¨λ“  μ›μ†Œ 값이 각각 λ¬Έμžμ—΄λ‘œ 바뀐 λ’€ 콀마둜 λΆ„λ¦¬λœ ν˜•νƒœλ‘œ 이어진닀.

    var a = [1, 2, 3];
    a.toString(); // "1, 2, 3"

ToNumber

  • 숫자 μ•„λ‹Œ κ°’ -> μˆ˜μ‹ 연산이 κ°€λŠ₯ν•œ 숫자 λ³€ν™˜ λ‘œμ§μ€ ToNumber 좔상 연산에 잘 μ •μ˜λ˜μ–΄ μžˆλ‹€

  • trueλŠ” 1, falseλŠ” 0, undefinedλŠ” NaN, null은 0으둜 λ°”λ€œ

Falsy κ°’

  • true/falseκ°€ μ•„λ‹Œ 값을 λΆˆλ¦¬μ–Έμ— μƒλ‹Ήν•œ κ°’μœΌλ‘œ κ°•μ œλ³€ν™˜ν–ˆμ„ λ•Œ

    1. λΆˆλ¦¬μ–ΈμœΌλ‘œ κ°•μ œλ³€ν™˜ν•˜λ©΄ falseκ°€ λ˜λŠ” κ°’

      • undefined

      • null

      • false

      • +0, -0, NaN

      • ""

    2. 1λ²ˆμ„ μ œμ™Έν•œ λ‚˜λ¨Έμ§€

Previousν˜Έμ΄μŠ€νŒ…Nextjavascript

Last updated 4 years ago

Was this helpful?