Ответ
В JavaScript есть 6 ложных (falsy) значений, которые при приведении к булевому типу дают false:
false- булево значение лжи0- число ноль""или''- пустая строкаnull- отсутствие значенияundefined- неопределенное значениеNaN- не число (Not a Number)
Почему это важно для тестирования? При написании автотестов на JavaScript (например, с использованием Jest, Mocha или Cypress) понимание falsy-значений критично для корректной работы условных операторов и проверок (assertions).
Пример из теста:
// Тест, проверяющий обработку невалидного ввода
function validateInput(input) {
return input ? true : false;
}
test('validateInput returns false for falsy values', () => {
const falsyValues = [false, 0, "", null, undefined, NaN];
falsyValues.forEach(value => {
expect(validateInput(value)).toBe(false);
});
});
Все остальные значения (включая пустые массивы [], объекты {}, строку "0") являются истинными (truthy).