4 ms·
I'm all for bashing the insane world of Javascript, and think that the argument grandparent is is making is quite weak, but not many languages have deep-equalit
by orf 9y ago
I'm all for bashing the insane world of Javascript, and think that the argument grandparent is is making is quite weak, but not many languages have deep-equality baked in.
Sure, you can perhaps override some methods on an object, but given two arbitrary objects (like two dicts in Python), knowing if two are 'equal' is not easy and certainly not built in.
That being said, JS doesn't make implementing this easy or simple at all.
- sametmax 9y agoActually it works in Python. And it's VERY handy, especially in unit tests. See my other comment.
- robhu 9y agoThis works in Ruby: irb(main):001:0> require 'set' => true irb(main):002:0> {'foo' => [1, 2, [true].to_set]} == {'foo' => [1, 2, [false].to_set]} => false irb(main):003:0> {'foo' => [1, 2, [true].to_set]} == {'foo' => ['1'.to_i, 2, [true].to_set]} => true