Причудливый слабо типизированный оператор JavaScript ==
можно легко показать как нетранзитивный следующим образом:
var a = "16";
var b = 16;
var c = "0x10";
alert(a == b && b == c && a != c); // alerts true
Интересно, есть ли какие-нибудь подобные уловки, которые можно использовать с округлением ошибка, Бесконечность
или NaN
, которые могут показать, что ===
нетранзитивен, или если это действительно транзитивно.