⊗jsPmBsATC 43 of 505 menu

Mabadiliko ya Otomatiki ya Aina za Data

Kama ulivyojua tayari, strings katika JavaScript inapaswa kuchukuliwa kwenye alama za quotation. Inawezekana kuwa, herufi zote za string zitakuwa ni nambari:

let a = '123';

Katika kesi hii, variable a pia ni string, lakini kwa nuance fulani.

Kiini cha nuance ni kifuatacho: ikiwa utafanya operesheni ya kihisabati yo yote kwenye string yenye nambari - operesheni hiyo itafanywa kana kwamba tuna nambari kweli, na sio strings:

alert('2' * '3'); // itatoa 6

Katika kesi hii, JavaScript anaona kwamba tunajaribu kufanya operesheni isiyoruhusiwa kwa strings, lakini inayoruhusiwa kwa nambari.

Yeye pia anaona kwamba kwa kweli strings zetu - ni nambari zilizo kwenye alama za quotation. Kwa hivyo JavaScript kiotomatiki hufanya mabadiliko ya strings hizi kuwa nambari na hufanya operesheni ya kihisabati inayofaa juu yazo.

Hii inafanya kazi, ikiwa kwenye strings zetu kuna nambari pekee. Ikiwa kutakuwa na herufi angalau moja - JavaScript itaona operesheni hiyo kuwa batili na itafanya matokeo yake kuwa thamani NaN:

alert('2' * '3s'); // itatoa NaN

Zaidi ya hayo, mabadiliko ya otomatiki hutokea, ikiwa operesheni ni sahihi kihisabati, lakini hairuhusiwi kwa strings.

Kwa mfano, strings haziwezi (lakini nambari zinaweza) kuzidishwa, kugawanywa, kutoanishwa, kwa hivyo katika operesheni zote kama hizo utakuwa na mabadiliko ya otomatiki ya strings zenye nambari kuwa nambari.

Hata hivyo, strings, kama nambari, zinaongezwa kwa kutumia operator +. Hii inamaanisha, kwamba katika kesi ya kujumlisha mabadiliko ya otomatiki hautatokea:

let a = '1' + '2'; alert(a); // itatoa '12' - kuna nyongeza ya strings

Ikiwa moja ya neno-jumlisha ni nambari, na nyingine - ni string, basi string ndiyo huwa shinda kila wakati:

let a = 1 + '2'; alert(a); // itatoa '12'

Katika kesi kama hizi, JavaScript, kinyume chake, kiotomatiki hubadilisha nambari kuwa strings na hufanya nyongeza ya strings.

Kuna, hata hivyo, nuance, wakati maneno-jumlisha ni zaidi ya mawili: katika kesi hii, mabadiliko ya aina fulani yanategemea utaratibu wa utekelezaji wa operesheni.

Katika mfano ufuatao kwanza 2 na 3 zitajumlishwa kama nambari, kisha matokeo yataongezwa kwenye string '1' tayari kama string '5', ambayo hatimaye itatoa string '15':

let a = '1' + (2 + 3); alert(a); // itatoa '15'

Iwapo utaondoa mabano, basi yote yataongezwa kushoto kwenda kulia. Yaani kwanza string '1' itaongezwa kwa nambari 2 na kwa matokeo itapatikana string '12'. Kisha string hii itaongezwa kwa nambari 3 na kwa matokeo itapatikana string '123':

let a = '1' + 2 + 3; alert(a); // itatoa '123'

Lakini katika mfano ufuatao nambari 2 na 3 zimeandikwa mwanzoni, kwa hivyo kwanza zitajumlishwa kama nambari, na kutoa matokeo ya nambari 5, kisha nambari hii itaongezwa kwa string '1', na kutoa kwa matokeo string '51':

let a = 2 + 3 + '1'; alert(a); // itatoa '51'

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5' + '2'; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5' + 2; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = 5 + '2'; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = 5 + 2; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5' * '2'; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5' - '2'; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5' / '2'; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5' % '2'; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5s' * '2'; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5s' + '2'; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = (-'5') + (-'2'); alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5' * 1 + '2' * 1; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '5' * '1' + '2' * '1'; alert(a);

Bila kukimbiza code, amua, nini kitatolewa kwenye skrini:

let a = '' + 3 + 1; alert(a);
Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa