Сборка от 17 марта 2017 г


Логическое преобразование



Download 9,9 Mb.
bet45/349
Sana26.04.2022
Hajmi9,9 Mb.
#582433
TuriУчебник
1   ...   41   42   43   44   45   46   47   48   ...   349
Bog'liq
ilja kantor sovremennyj uchebnik-1chast PdfToWord

Логическое преобразование


Преобразование к true/false происходит в логическом контексте, таком как if(value) , и при применении логических операторов. Все значения, которые интуитивно «пусты», становятся false . Их несколько: 0 , пустая строка, null , undefined и NaN .


Остальное, в том числе и любые объекты – true . Полная таблица преобразований:



Значение Преобразуется в...
undefined , null false
Числа Все true , кроме 0 , NaN ‑‑ false .
Строки Все true , кроме пустой строки "" ‑‑ false
Объекты Всегда true


Для явного преобразования используется двойное логическое отрицание !!value или вызов Boolean(value) .


Логическое преобразование интересно тем, как оно сочетается с численным.




Два значения могут быть равны, но одно из них в логическом контексте true , другое false . Например, равенство в следующем примере верно, так как происходит численное преобразование:

alert( 0 == "\n0\n" ); // true


…А в логическом контексте левая часть даст false , правая – true :


if ("\n0\n") {


alert( "true, совсем не как 0!" );
}

С точки зрения преобразования типов в JavaScript это совершенно нормально. При сравнении с помощью «==» – численное преобразование, а в if – логическое, только и всего.




Итого


В JavaScript есть три преобразования:





  1. Строковое: String(value) – в строковом контексте или при сложении со строкой. Работает очевидным образом.

  2. Численное: Number(value) – в численном контексте, включая унарный плюс +value . Происходит при сравнении разных типов, кроме строгого равенства.

  3. Логическое: Boolean(value) – в логическом контексте, можно также сделать двойным НЕ: !!value .

Точные таблицы преобразований даны выше в этой главе.


Особым случаем является проверка равенства с null и undefined . Они равны друг другу, но не равны чему бы то ни было ещё, этот случай прописан особо в спецификации.


Задачи






Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   41   42   43   44   45   46   47   48   ...   349




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish