"obj! = null" против "! (obj == null)"? - PullRequest
0 голосов
/ 01 мая 2019

Друг сказал, что я должен использовать ! (obj == null), потому что это лучше, чем obj != null, но он не помнил, зачем это делать.

Есть ли причина для использования ! (obj == null)?

Есть ли разница? Я имею в виду, что оба должны возвращать true, когда obj не null и не undefined, верно или нет? (Я немного растерялся)

И когда оба ответа приводят к одному и тому же результату, я хотел бы знать, подходит ли это для всех версий JavaScript? (Я имею ввиду, оба работают на всех браузерах или нет?)

Ответы [ 2 ]

4 голосов
/ 01 мая 2019

Есть ли причина для использования! (obj == ноль)?

Некоторым людям легче (или труднее) читать.

есть ли какие-то изменения, я имею в виду, оба должны возвращать true, когда объект не равен нулю и не определен, это правильно или нет? (Я немного растерялся)

Нет. Они означают одно и то же.

И когда оба ответа приводят к одному и тому же результату, я хотел бы знать, подходит ли это для всех версий java-скриптов? (Я имею ввиду, оба работают на всех браузерах или нет?)

Да.

0 голосов
/ 01 мая 2019

! (obj == null) должен будет выполнить операцию сравнения, а также логическую операцию.Таким образом, это немного медленнее.

С другой стороны, obj != null - это одиночное сравнение.

Самый быстрый - obj !== null, который не должен выполнять приведение типов.

Однако изменение производительности выше трех случаев в средних программах незначительно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...