Konvertatsiya turi
Ushbu ifodalarning natijalari qanday?
"" + 1 + 0;
"" - 1 + 0;
true + false;
6 / "3";
"2" * "3";
4 + 5 + "px";
"$" + 4 + 5;
"4" - 2;
"4px" - 2;
" -9 " + 5;
" -9 " - 5;
null + 1;
undefined + 1;
" \t \n" - 2;
Yaxshilab o’ylab yozing va keyin javob bilan taqqoslang.
Tur o’zgartirish misollari
"" + 1 + 0 = "10" // (1)
"" - 1 + 0 = -1 // (2)
true + false = 1
6 / "3" = 2
"2" * "3" = 6
4 + 5 + "px" = "9px"
"$" + 4 + 5 = "$45"
"4" - 2 = 2
"4px" - 2 = NaN
" -9 " + 5 = " -9 5" // (3)
" -9 " - 5 = -14 // (4)
null + 1 = 1 // (5)
undefined + 1 = NaN // (6)
" \t \n" - 2 = -2 // (7)
Tushuntirishlar
-
String bilan qo’shish
"" + 11ni stringga o’zgartiradi:"" + 1 = "1", va keyin bizda"1" + 0bo’ladi, xuddi shu qoida qo’llaniladi. -
Ayirish
-(ko’pgina matematik amallar kabi) faqat raqamlar bilan ishlaydi, u bo’sh string""ni0ga o’zgartiradi. -
String bilan qo’shish
5raqamini stringga qo’shadi. -
Ayirish har doim raqamlarga o’zgartiradi, shuning uchun u
" -9 "ni-9raqamiga aylantiradi (atrofidagi bo’shliqlarni e’tiborsiz qoldiradi). -
nullraqamli o’zgartirishdan keyin0ga aylanadi. -
undefinedraqamli o’zgartirishdan keyinNaNga aylanadi. -
String raqamga o’zgartirilganda string boshi va oxiridagi bo’shliq belgilari olib tashlanadi. Bu yerda butun string
\t,\nva ularning orasidagi “oddiy” bo’shliq kabi bo’shliq belgilaridan iborat. Shuning uchun, bo’sh stringga o’xshab, u0ga aylanadi.