toBe uses strict equality (===). toEqual compares values deeply.
const obj = { a: 1 };
expect(obj).toBe({ a: 1 }); // FAILS (different objects)
expect(obj).toEqual({ a: 1 }); // PASSES (same values)
expect(5).toBe(5); // PASSES (primitives)
expect([1, 2]).toEqual([1, 2]); // PASSES (arrays)
Use toBe for primitives, toEqual for objects and arrays.