Seungwoo Hong
Front-end developer
2019. 04. 13
Seungwoo Hong
@sat10am
1. Duck Typing
2. Dynamic / Static and Strong / Weak
3. Implicit coercionβ
4. Explicit coercionβ
μ₯μ
Β 1. νμ μ μμ΄μ μμ λ‘λ€.
Β 2. μ½λμ μ μ°μ±μ΄ μκΈ΄λ€.
Β
λ¨μ
Β 1. λ°νμ νκ²½μμ μμ λͺ»ν κ°μΌλ‘ μ€λ₯κ° λ°μ ν μ μλ€.
Β 2. νμ 체νΉμ μν μΆκ°μ μΈ μμ μ΄ νμνλ€.
Β
Β
Static typing - μ»΄νμΌ νλ μμ μ νμ 체νΉ
DynamicΒ typing - λ°νμ μμ μ νμ 체νΉ
Static typing
1. Check types
2. Run
Β
DynamicΒ typing
1. Run
2. Check types
Β
Strong type
λ§μ§ μλ νμ μ΄ μμλ μλ¬λ₯Ό λ°μ μν¨λ€.
Β
WeakΒ type
λ§μ§ μλ νμ μ΄ μμλ μ묡μ μΌλ‘ λ³ννμ¬ μ€ν μμΌμ€λ€.
1. μνμ μΈ λ§μ
2. λ¬Έμμ΄ ν©μΉκΈ°
'+' μ°μ°μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄λ‘ λ³ν
π― μ«μλ‘ λ³ν
'+' λ¨ν μ°μ°μλ₯Ό μ΄μ©ν μμμ λ³ν
'+' λ¨ν μ°μ°μλ₯Ό μ΄μ©ν μμμ λ³ν
λΉκ΅, λ Όλ¦¬ μ°μ°μκ° μ¬μ© λκ±°λ if, forλ¬Έλ±μ 쑰건μμμ μμμ μΈ λ³νμ΄ λ°μνλ€.
StringμΌλ‘ μμμ λ³νμ΄ μΌμ΄λμΌ λ λλ§λ€ νΈμΆ λλ ν¨μ
κ°μ λκ²¨μΌ λ λλ§λ€ μμ κ°μ λκΈ°λ ν¨μ
κ°μ λκ²¨μΌ λ λλ§λ€ μμ κ°μ λκΈ°λ ν¨μ
1. type of NaN
2. NaNμ μ΄λ€ κ°μ΄λ λΉκ΅νλ false
Β
isNaN - κ°μ΄ NaNμΈμ§ μλμ§ νλ³νκ³ Not a NumberΒ λ₯Όνλ³νλ€.
Β
Number.isNaN - νμ¬ κ°μ΄ NaNμΌλλ§ True λ°ν
1. String μμ±μ ν¨μλ₯Ό new μ°μ°μ μμ΄ νΈμΆνλ λ°©λ²
2. Object.prototype.toString λ©μλλ₯Ό μ¬μ©νλ λ°©λ²
Β
1. Number μμ±μ ν¨μλ₯Ό new μ°μ°μ μμ΄ νΈμΆνλ λ°©λ²
2. parseInt, parseFloat ν¨μλ₯Ό μ¬μ©νλ λ°©λ²(λ¬Έμμ΄λ§ λ³ν κ°λ₯)
Β
Duck typing
Β
Weak type
Β
Dynamic typing
Β
By Seungwoo Hong