Защо конвертиране на число 0 дава друг резултат?

JavaScript Програмиране с JavaScript

Всяко едно число се конвертира до true и след ! става false. Защо: var value = 0; console.log(!value); пише, че е true ?

Правилото е друго - 0 е еквивалент на false, 1 е еквивалент на true и това идва още от бинарния машинен код. Останалите числа различни от 0 се конвертират към true както числото 1 (просто трябва към нещо да се конвертират, когато се наложи). Същото важи и за стринговете - само празен стринг се конвертира към false, всеки друг стринг - към true.

Точно защото 0 се отъждествява с false и обратното. Ако изговорите !0 което е NOT False, то на Български си имаме израз (какъвто имаше и измежду логическите предикати в предметите по дискретни устройства) "Не е лъжа, че...", който обяснява нещата


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация