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. ! λΆμ λ Όλ¦¬ μ°μ°μλ₯Ό λ λ² μ¬μ©νλ λ°©λ²