[Jest] toBe() vs ===

Falcon·2023년 6월 27일
1

javascript

목록 보기
25/28
post-thumbnail

Jest 에서 쓰이는 toBe() 와 === 를 비교한다.

둘은 사실상 거의 같은데 약간의 차이가 있다.
toBe는 내부적으로 Object.is() 메소드를 사용한다.

비교 정리

OperandtoBe()===
+0 과 -0falsetrue
Nantruefalse

예제 코드

describe('toBe vs ===', ()=>{
  test('Compare NaN', ()=>{
    const nanValue = NaN
    expect(NaN).toBe(NaN) 
    // always to be 'false'
    expect(NaN === NaN).toBeFalsy()
  })

  test('Compare +0 -0', ()=>{
    expect(+0).not.toBe(-0)
    expect(+0 === -0).toBeTruthy()
  })
})

When to use?

toBe()

===와 유사하다. Primitive type 비교시 사용
동일성 검사

toEqual()

==와 유사하다.
동등성 검사

profile
I'm still hungry

0개의 댓글