Есть ли разница между использованием "! == null" и просто его отсутствием? - PullRequest
0 голосов
/ 23 марта 2020

Если вы пытаетесь определить, является ли переменная не нулевой, вы могли бы написать

if (a !== null)

, но мне было интересно, это то же самое, что написать

if (a)

?

1 Ответ

1 голос
/ 23 марта 2020

Ноль является одним из примитивных значений в javascript. 'null' и 'undefined' оба означают отсутствие значения для конкретной переменной.

Разница между ними заключается в следующем:

'null': переменная была объявлена, но еще не присвоена какое-либо значение (преднамеренное отсутствие значения) 'undefined': переменная, которая была объявлена, но не присвоена, любое значение не определено, не равно нулю.

Например:

var a= null; // it has no value and user defined false value as null
var b; // b also has no value which is undefined assigned by js compiler

Чтобы проверить, является ли значение null или нет, вы можете использовать одно из следующих действий:

var a = null;
if(a) {console.log("Not null");} else {console.log("Value is null");} // Value is null

a==null //true
a== undefined // true (This can be used in sitaution where you need no worry about null or undefined and are just concerned with no values)
a=== null //true

//Lastly you can also use ES6 inbuilt function to check for null values
//as type of null is object you can use the following approach

Object.is(maybeNull,null) //true

В ответ на ваш вопрос, да, оба условия, которые вы упомянули, будут хорошо работать для проверки нулевых значений.

...