Ruslan2
R
джээс ****о, джава рулитНа этапе приведения к примитивам никак, ибо нулл -⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
На этапе⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
Именно поэтому оба этих выражения есть ложные
Правила сравнения тут:
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
В третьем варианте true, т.к. выражение "null < 0" ложное (см. выше), значит "null >= 0"⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
Второй вариант как раз мне менее всего очевиден, ибо в соответствии с⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
при сравнении будет использована последняя 21я дефолтная опция:
в любой непонятной ситуации выводи false.
п. 1-14 пропустятся, тк. типы значений разные, п. 14-19 пропустятся, тк 0 не равно undefined и случаи Type(null), которое равно object не обрабатываются.
А 21-22, когда как в нашем случае Type(null) есть объект, и 2й операнд - число - то вызовется функция ToPrimitive(Null), которая вернет Null (выше объяснение).
Те как мне видится в "The Abstract Equality Comparison Algorithm" просто не хватает отдельного пункта сравнения null c 0, и именно эта коллизия приводит к таким результатам.





