π you don't know JS
#
2023-02-10#
CHAPTER 1. νμ#
7κ°μ§ λ΄μ₯ νμ- null
- undefined
- boolean
- number
- string
- object
- symbol
#
undefined !== undeclared- undefined : μ μΈλ λ³μμ ν λΉν μ μλκ°
- undeclared : λ³μ μμ²΄κ° μ μΈλμ μμ
- λλ€ νμ μ undefinedλ‘ λμ΄
#
CHAPTER 2.κ°- λ°°μ΄μ λͺ¨λ νμ μ κ°λ€μ μ«μλ‘ μΈλ±μ±ν μ§ν©
- λ¬Έμμ΄μ μΌμ’ μ μ μ¬λ°°μ΄
- μ«μλ μ μμ λΆλμμμ μ«μ λͺ¨λ ν¬ν¨
#
Undefinedλ₯Ό μλ³μλ‘ μΈ μ μλ€.- λμ¨ν λͺ¨λμμ μ μμ€μ½νμμ undefinedμ κ°μ ν λΉν μ μμ (κ°λΉμΆ)
- λͺ¨λμ μκ΄μμ΄ undefinedλΌλ μ΄λ¦μ κ°μ§ μ§μλ³μ μμ±κ°λ₯ (λμ°)
#
νΉμ΄ν λλ± λΉκ΅- Object.is()λ₯Ό μ¬μ©ν NaN, -0λΉκ΅
- NaN !== NaN (λΉκ΅λΆλ₯), -0μ 보ν΅μ 0κ³Ό λλ±νμ²ν¨
- == λ === κ° μμ νλ€λ©΄ κ΅³μ΄ μΈνμ μμ. κΈ°λ³Έμ°μ°μκ° μ’ λ ν¨μ¨μ΄ μ’κ³ μΌλ°μ μ΄κΈ° λλ¬Έμ΄λ€.
#
2023-02-24#
CHAPTER 3... 45.λμ¨ν/μ격ν λλ± λΉκ΅
== λ κ°μ λλ±ν¨μ
===λ κ°κ³Ό νμ λͺ¨λμ λλ±ν¨μ λΉκ΅νλ€. λΌκ³ μ€ν΄νλ€. μ ννμ§ μλ€.
μ νν μ μλ
λλ±ν¨ λΉκ΅μ ==λ κ°μ λ³νμ νμ©νμ§λ§, ===λ κ°μ λ³νμ νμ©νμ§ μμ!!
#
λΉκ΅ μ±λ₯νμ μ΄ λ€λ₯Έ λ κ°μ λλ± λΉκ΅μμ μ€μν κ²μ λΉκ΅κ³Όμ μμ κ°μ λ³νμ κ°μ μ¬λΆ μ.
κ°μ λ³νμ΄ νμνλ€λ©΄ λμ¨ν λλ± μ°μ°μ (==)λ₯Ό,
νμνμ§ μλ€λ©΄ μ격ν λλ± μ°μ°μ (===)λ₯Ό μ¬μ©νμ.
μ΄μ°¨νΌ ==λ ===λ νΌμ°μ°μμ νμ μ 체ν¬νλ건 맀νκ°μ§.
λ€λ₯Έμ μ νμ μ΄ λ€λ₯Όλ μ΄ν μ²λ¦¬ λ‘μ§μ.
μμ
ES5 11.9.3.6-7
- Type(x) κ° λΆλ¦¬μΈμ΄λ©΄ ToNumber(x) == yμ λΉκ΅ κ²°κ³Όλ₯Ό λ°ννλ€.
- Type(y) κ° λΆλ¦¬μΈμ΄λ©΄ x == ToNumber(y)μ λΉκ΅ κ²°κ³Όλ₯Ό λ°ννλ€.
β42βλ truthyλ falsyλ μλκ°μΈκ°?
β42βκ° λΆλ¦¬μΈμΌλ‘ κ°μ λ³ν λλκ²μ΄ μλλΌ trueκ° 1λ‘ κ°μ λ³νλκ³ κ·Έ ν β42βκ° 42λ‘ κ°μ λ³ν λλκ².
ToBooleanμ μ ν κ°μ νμ§ μκ³ β42β κ° μ체μ truthy/ falsy μ¬λΆλ == μ°μ°κ³Ό μ ν 무κ΄ν¨.