Skip to main content
default.notDeepEqual - node__assert.d.ts - Node documentation
function default.notDeepEqual

Usage in Deno

```typescript import mod from "node:node__assert.d.ts"; ```
notDeepEqual(
actual: unknown,
expected: unknown,
message?: string | Error,
): void
**Strict assertion mode** An alias of [notDeepStrictEqual](../.././node__assert.d.ts/~/default.notDeepStrictEqual). **Legacy assertion mode** > Stability: 3 - Legacy: Use [notDeepStrictEqual](../.././node__assert.d.ts/~/default.notDeepStrictEqual) instead. Tests for any deep inequality. Opposite of [deepEqual](../.././node__assert.d.ts/~/default.deepEqual). ```js import assert from 'node:assert'; const obj1 = { a: { b: 1, }, }; const obj2 = { a: { b: 2, }, }; const obj3 = { a: { b: 1, }, }; const obj4 = { __proto__: obj1 }; assert.notDeepEqual(obj1, obj1); // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } } assert.notDeepEqual(obj1, obj2); // OK assert.notDeepEqual(obj1, obj3); // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } } assert.notDeepEqual(obj1, obj4); // OK ``` If the values are deeply equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`.

Parameters

actual: unknown
expected: unknown
optional
message: string | Error

Return Type

void