有人可以向我解释为什么以下是正确的:
let foo = {
A: [ 1, 2 ]
}
let bar = {
"A": {
"0": "1",
"1": "2"
}
}
assert.deepEqual(foo, bar);
有人可以向我解释为什么以下是正确的:
let foo = {
A: [ 1, 2 ]
}
let bar = {
"A": {
"0": "1",
"1": "2"
}
}
assert.deepEqual(foo, bar);
正如文档所说:
只考虑可枚举的“自己的”属性。该
assert.deepEqual()
实现不测试[[Prototype]]
对象或可枚举自己的Symbol
属性。对于此类检查,请考虑assert.deepStrictEqual()
改用。
该assert.deepStrictEqual()
函数也会检查原型,并且
assert.deepStrictEqual(foo, bar);
将返回假。