2023/12/06(μ)
λΉκ΅ 곡μ Object.is
Object.isλ Object.is(μΈμ1,μΈμ2); μ²λΌ
λ κ°μ μΈμλ₯Ό λ°μΌλ©°,μ΄ μΈμ λ κ°κ° λμΌνμ§ νμΈνκ³
λ°ννλ λ©μλλ€.
Object.isλ λλ±λΉκ΅μ°μ°μ(==)λ μΌμΉλΉκ΅μ°μ°μ(===)μ μ΄λ€ μ°¨μ΄μ μ κ°μ§κ³ μλμ§ μ΄ν΄λ³΄μ.
<script>
-0 === +0// true
Object.is(-0, +0)//false
Number.NaN === NaN // false
Object.is(Number.NaN,NaN) // true
NaN === 0 / 0 //false
Object.is(NaN, 0 / 0) // true
</script>
μ΄λ λ― λλ±λΉκ΅μ°μ°μ(==)λ μΌμΉλΉκ΅μ°μ°μ(===)κ° λ§μ‘±νμ§ λͺ»νλ λͺ κ°μ§ νΉμ΄ν μΌμ΄μ€λ₯Ό μΆκ°νκΈ° μν΄,
Object.isκ° λλ¦ μκ³ λ¦¬μ¦μΌλ‘ μλνλ κ²μ μ μ μλ€.
νκ°μ§ μ£Όμν΄μΌ ν μ μ. Object.isλ₯Ό μ¬μ©νλ€ νλλΌλ κ°μ²΄ λΉκ΅μλ
λ³ μ°¨μ΄κ° μλ€λ κ²μ΄λ€. κ°μ²΄ λΉκ΅λ μμ μ΄μΌκΈ°ν κ°μ²΄ λΉκ΅ μ리μ λλ±νλ€.
κ°μ²΄ λΉκ΅ μ리
<script>
Object.is({},{})//false
const a = {
hello : 'hi',
}
const b = a;
Object.is(a,b)//true
a === b // true
</script>
Object.isλ μΌμΉ λΉκ΅ μ°μ°μ (===) κ° κ°μ§λ νκ³λ₯Ό 극볡νκΈ° μν΄ ES6λΆν° λ§λ€μ΄μ‘λ€.
νμ§λ§ μ¬μ ν κ°μ²΄ κ° λΉκ΅μ μμ΄μλ μλ°μ€ν¬λ¦½νΈμ νΉμ§μΌλ‘ μΈν΄ μΌμΉλΉκ΅μ°μ°μ(===)μ λμΌνκ² λμνλκ²μ μ μ μλ€.
β‘οΈ λ€μμ 리μ‘νΈμμμ λλ± λΉκ΅μ λν΄ μμ보μ.