Безплатно! 21-дневно предизвикателство за изграждане на навици 2025 г. Регистрация тук.
Въпрос към урок: Оператор NOT
от курс: Основи на програмирането с JavaScript
Защо конвертиране на число 0 дава друг резултат?
Всяко едно число се конвертира до true и след ! става false. Защо: var value = 0; console.log(!value); пише, че е true ?
Правилото е друго - 0 е еквивалент на false, 1 е еквивалент на true и това идва още от бинарния машинен код. Останалите числа различни от 0 се конвертират към true както числото 1 (просто трябва към нещо да се конвертират, когато се наложи). Същото важи и за стринговете - само празен стринг се конвертира към false, всеки друг стринг - към true.
Точно защото 0 се отъждествява с false и обратното. Ако изговорите !0 което е NOT False, то на Български си имаме израз (какъвто имаше и измежду логическите предикати в предметите по дискретни устройства) "Не е лъжа, че...", който обяснява нещата
Вашият отговор
Запиши се в Аула
Ако вече имаш регистрация влез оттук