Skip to content

두 객체가 깊은相等인지 확인하세요. 이는 Bun 의 테스트 러너 에서 expect().toEqual() 에 의해 내부적으로 사용됩니다.

ts
const a = { a: 1, b: 2, c: { d: 3 } };
const b = { a: 1, b: 2, c: { d: 3 } };

Bun.deepEquals(a, b); // true

세 번째 인수로 true 를 전달하여 strict 모드를 활성화하세요. 이는 Bun 의 테스트 러너 에서 expect().toStrictEqual() 에 의해 내부적으로 사용됩니다.

다음 예시는 strict 모드가 아닐 때는 true 를 반환하지만 strict 모드에서는 false 를 반환합니다.

ts
// undefined 값
Bun.deepEquals({}, { a: undefined }, true); // false

// 배열의 undefined
Bun.deepEquals(["asdf"], ["asdf", undefined], true); // false

// 희소 배열
Bun.deepEquals([, 1], [undefined, 1], true); // false

// 객체 리터럴 vs 동일 속성을 가진 인스턴스
class Foo {
  a = 1;
}
Bun.deepEquals(new Foo(), { a: 1 }, true); // false

더 유용한 유틸리티는 문서 > API > 유틸리티 를 참조하세요.

Bun by www.bunjs.com.cn 편집