⊗jsPmBsATC 43 of 505 menu

Penukaran Jenis Data Automatik

Seperti yang anda sudah tahu, tali dalam JavaScript patut diletakkan dalam tanda petik. Mungkin berlaku, bahawa semua aksara tali akan terdiri daripada digit:

let a = '123';

Dalam kes ini, pembolehubah a juga merupakan tali, tetapi dengan beberapa nuansa.

Inti nuansa adalah seperti berikut: jika operasi matematik dilakukan pada tali dengan digit - operasi ini akan dilaksanakan seolah-olah kita memang mempunyai nombor, bukan tali:

alert('2' * '3'); // akan memaparkan 6

Dalam kes ini, JavaScript melihat bahawa kita cuba melaksanakan operasi yang tidak dibenarkan untuk tali, tetapi dibenarkan untuk nombor.

Ia juga melihat, bahawa secara faktual tali kita - adalah nombor dalam tanda petik. Oleh itu, JavaScript secara automatik melakukan penukaran tali ini kepada nombor dan melaksanakan operasi matematik yang sepadan ke atasnya.

Ini berfungsi, jika dalam tali kita hanya terdapat digit. Jika terdapat sekurang-kurangnya satu huruf - JavaScript akan menganggap operasi itu tidak betul dan menjadikan hasilnya nilai NaN:

alert('2' * '3s'); // akan memaparkan NaN

Selain itu, penukaran automatik berlaku, jika operasi adalah betul secara matematik, tetapi tidak dibenarkan untuk tali.

Sebagai contoh, tali tidak boleh (tetapi nombor boleh) didarab, dibahagi, ditolak, oleh itu dalam semua operasi sedemikian akan berlaku penukaran automatik tali dengan digit kepada nombor.

Walau bagaimanapun, tali, seperti nombor, ditambah menggunakan operator +. Ini bermaksud, bahawa dalam kes penambahan penukaran automatik tidak akan berlaku:

let a = '1' + '2'; alert(a); // akan memaparkan '12' - telah berlaku penambahan tali

Jika satu daripada sebutan adalah nombor, dan yang lain - tali, maka tali sentiasa menang:

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

Dalam kes sedemikian, JavaScript, sebaliknya, secara automatik menukar nombor kepada tali dan melaksanakan penambahan tali.

Terdapat, bagaimanapun, nuansa, apabila terdapat lebih banyak sebutan, daripada dua: dalam kes ini, penukaran kepada jenis tertentu bergantung pada susunan pelaksanaan operasi.

Dalam contoh berikut, pertama 2 dan 3 akan ditambah sebagai nombor, dan kemudian hasilnya akan ditambah kepada tali '1' sudah sebagai tali '5', yang akhirnya akan memberikan tali '15':

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

Jika kurungan dikeluarkan, semuanya akan ditambah dari kiri ke kanan. Iaitu, pertama kepada tali '1' akan ditambah nombor 2 dan hasilnya akan menjadi tali '12'. Kemudian kepada tali ini akan ditambah nombor 3 dan hasilnya akan menjadi tali '123':

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

Tetapi dalam contoh berikut, nombor 2 dan 3 ditulis pada awalnya, oleh itu pertama mereka akan ditambah sebagai nombor, memberikan hasil nombor 5, dan kemudian kepada nombor ini akan ditambah tali '1', memberikan akhirnya tali '51':

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

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

Tanpa menjalankan kod, tentukan, apa yang akan dipaparkan pada skrin:

let a = '' + 3 + 1; alert(a);
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak