Javascript 包含函数的对象上的深度相等

Javascript 包含函数的对象上的深度相等,javascript,unit-testing,testing,chai,Javascript,Unit Testing,Testing,Chai,如果函数的toString()表示形式是deep equal,那么如何在函数之间断言deep equal expect(() => {}).to.deep.equal(() => {}); // => should be pass const foo = (x) => { // foo return x; } const bar = (x) => { // bar return x; } expect(foo).to.deep.equal(bar

如果函数的toString()表示形式是deep equal,那么如何在函数之间断言deep equal

expect(() => {}).to.deep.equal(() => {}); // => should be pass


const foo = (x) => {
  // foo
  return x;
}
const bar = (x) => {
  // bar
  return x;
}
expect(foo).to.deep.equal(bar); // => should be not pass because comment makes them different

Deep equal的设计目的是进行深入而非松散的比较,如果这样做的话 感觉换句话说,它设计用于遍历 对象或数组(以及很快的iterables),并比较它们的值 属性相互关联。重要的是,当它达到一个 不是iterable、数组或对象,它实际上使用 比严格相等比较更严格(它使用SameValue)。 函数不是不可编辑的,它们没有可以制作一个好函数的键 质量比较,因此给予相同的处理

Deep equal的设计目的是进行深入而非松散的比较,如果这样做的话 感觉换句话说,它设计用于遍历 对象或数组(以及很快的iterables),并比较它们的值 属性相互关联。重要的是,当它达到一个 不是iterable、数组或对象,它实际上使用 比严格相等比较更严格(它使用SameValue)。 函数不是不可编辑的,它们没有可以制作一个好函数的键 质量比较,因此给予相同的处理