Истинные и ложные значения в JavaScript
Правдивый
В JavaScript настоящее значение — это значение, которое считается true
при обнаружении в логическом контексте.
if (true)
if ({})
if ([])
if (16)
if ("0")
if ("false")
if (new Date())
if (-16)
if (4n)
if (11.14)
if (-11.14)
if (Infinity)
if (-Infinity)
Пример:
const number = 16; if (number) { console.log("Condition is true"); } else { console.log("Condition is false"); } // Condition is true
Фальшивый
Значение falsy – это значение, которое считается ложным при обнаружении в логическом контексте.
if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (0n)
if (NaN)
if ("")
Пример:
const number = 0 ; if (number) { console.log("Condition is true"); } else { console.log("Condition is false"); } // Condition is false
Нулевой и неопределенный
Null и Undefined являются типами данных в JavaScript. Неопределенная – это переменная, которая была объявлена, но ей не присвоено значение. Таким образом, вы можете присвоить значение null любой переменной, что в основном означает, что она пуста. Таким образом, не объявляя значение переменной, JavaScript автоматически присваивает значение undefined. null == undefined; // true
Пример нулевого значения
var name = null;
if (name === null) {
console.log("name is null");
}
else {
console.log("name is not null");
}
// name is null
Пример неопределенного
var name;
if (name === undefined) {
console.log("name is undefined");
}
else {
console.log("name is not undefined");
}
// name is undefined
Двойное равно (==)
Оператор двойного равенства (==
) проверяет, равны ли два его операнда, возвращая логический результат. Двойное равенство не проверяет два операнда одного или разных типов. Он будет проверять только значение. Двойное равенство имеет собственный алгоритм проверки значения.
const num1 = 2;
const num2 = "2"; if (num1 == num2) { console.log("Condition is true"); } else { console.log("Condition is false"); } // Condition is true
Тройное равно (===)
Это тройное равенство называется в JavaScript строгим равенством. Оператор строгого равенства (===
) проверяет, равны ли два его операнда, возвращая логический результат. Строгое равенство будет строго проверять два операнда, которые относятся к одному типу или нет. Он проверит значение с типом обоих.
const num1 = 2; //Integer type
const num2 = "2"; // String type if (num1 == num2) { console.log("Condition is true"); } else { console.log("Condition is false"); } // Condition is false
Сфера
Область действия в JavaScript относится к текущему контексту кода, который определяет доступность переменных для JavaScript. В JavaScript есть два типа области видимости. Существует два типа области: локальная и глобальная:
Локальная область
Локальные переменные — это переменные, объявленные внутри блока. Доступ к локальным переменным возможен только из блока.
function add (num1, num2) { let sum = num1 + num2; return sum; } const result = add(5, 3);
//console.log(sum); // I can't access from outside of block scope so I will get error. console.log(result)
Глобальный охват
Глобальные переменные — это переменные, объявленные вне блока. Глобальная переменная имеет глобальную область действия. Все сценарии и функции на веб-странице могут получить к ней доступ.
let number = 16; function add (num1, num2) { let sum = num1 + num2 + number;
console.log(number); // I can access inside block scope return sum; } const result = add(5, 3); console.log(result) //24
Подъем JavaScript
Поднятие переменной означает, что движок JavaScript перемещает объявления переменных в начало скрипта. Опять же, Подъем — это механизм JavaScript, в котором объявления переменных и функций перемещаются в верхнюю часть своей области действия перед выполнением кода.
console.log(name); // undefined var name = hoisting;
Однако первая строка кода не вызывает ошибки, поскольку движок JavaScript перемещает объявление переменной в начало скрипта. Технически код на этапе выполнения выглядит следующим образом:
var name;
console.log(name); // undefined name =
hoisting;
Если вы напишете так, исполнение будет правильным.
var name =
hoisting;
console.log(name) //hoisting
Спасибо, что прочитали эту статью…