Въпрос към урок: Оператор 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, то на Български си имаме израз (какъвто имаше и измежду логическите предикати в предметите по дискретни устройства) "Не е лъжа, че...", който обяснява нещата
Вашият отговор
Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
20 безплатни урока
Трикове и тънкости за софтуера
Отговори на вашите въпроси