⊗jsPmBsATC 43 of 505 menu

Konversi Otomatis Tipe Data

Seperti yang sudah Anda ketahui, string dalam JavaScript harus diberikan dalam tanda kutip. Bisa saja terjadi, bahwa semua karakter string adalah angka:

let a = '123';

Dalam hal ini, variabel a juga merupakan string, tetapi dengan nuansa tertentu.

Inti nuansanya adalah sebagai berikut: jika operasi matematika apapun dilakukan pada string yang berisi angka - operasi tersebut akan dijalankan seolah-olah kita benar-benar memiliki angka, bukan string:

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

Dalam kasus ini, JavaScript melihat bahwa kita berusaha menjalankan operasi yang tidak valid untuk string, tetapi valid untuk angka.

Ia juga melihat bahwa secara faktual string kita - adalah angka dalam tanda kutip. Oleh karena itu, JavaScript secara otomatis melakukan konversi string ini menjadi angka dan menjalankan operasi matematika yang sesuai pada mereka.

Hal seperti ini bekerja, jika dalam string kita hanya terdapat angka. Jika ada setidaknya satu huruf - JavaScript akan menganggap operasi tersebut tidak valid dan menjadikan hasilnya nilai NaN:

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

Selain itu, konversi otomatis terjadi, jika operasi tersebut secara matematis valid, tetapi tidak valid untuk string.

Misalnya, string tidak dapat (sedangkan angka dapat) dikalikan, dibagi, dikurangkan, oleh karena itu dalam semua operasi seperti itu akan terjadi konversi otomatis string yang berisi angka menjadi angka.

Namun, string, seperti halnya angka, dapat dijumlahkan dengan menggunakan operator +. Ini berarti, dalam kasus penjumlahan, tidak akan terjadi konversi otomatis:

let a = '1' + '2'; alert(a); // menampilkan '12' - terjadi penjumlahan string

Jika salah satu suku adalah angka, dan yang lainnya - adalah string, maka string selalu yang menang:

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

Dalam kasus seperti ini, JavaScript, sebaliknya, secara otomatis mengonversi angka menjadi string dan melakukan penjumlahan string.

Namun, ada nuansa, ketika jumlah sukunya lebih banyak dari dua: dalam hal ini, konversi ke tipe tertentu tergantung pada urutan eksekusi operasi.

Dalam contoh berikut, pertama-tama 2 dan 3 akan dijumlahkan sebagai angka, kemudian hasilnya ditambahkan ke string '1' sudah sebagai string '5', yang pada akhirnya menghasilkan string '15':

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

Namun, jika tanda kurung dihilangkan, semuanya akan dijumlahkan dari kiri ke kanan. Artinya, pertama-tama string '1' ditambahkan dengan angka 2 dan hasilnya menjadi string '12'. Kemudian string ini ditambahkan dengan angka 3 dan hasilnya menjadi string '123':

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

Namun, dalam contoh berikut, angka 2 dan 3 ditulis di awal, jadi pertama-tama mereka akan dijumlahkan sebagai angka, menghasilkan angka 5, kemudian angka ini ditambahkan dengan string '1', menghasilkan string '51':

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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

Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:

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