跳到主要内容

isEqual()

function isEqual(a, b): boolean;

Defined in: packages/utils/src/object/isEqual.ts:174

深度比较两个值是否相等

支持数组 / Uint8Array / Date / RegExp / Map / Set / 包装类型 / 普通对象, 并能安全处理循环引用。

通用对象按自有可枚举键比较,字符串键与 symbol 键同等对待。

已知边界:

  • Map 的 key 按引用比较,只有 value 深比较(与 Map#get 的查找语义一致)。
  • 仅覆盖 toString 的对象(如 URL、Error)按 toString() 结果比较。
  • 不可枚举属性不参与比较(symbol 键与字符串键规则一致)。
  • 取值会触发 getter;accessor 属性按其返回值比较。

Parameters​

ParameterTypeDescription
aunknown第一个值
bunknown第二个值

Returns​

boolean

是否深度相等