⊗jsPmFCPS 273 of 505 menu

Titik koma untuk keamanan dalam IIFE

Sekarang mari kita asumsikan fungsi yang dipanggil di tempat bukan diawali dengan tanda plus, tetapi dibungkus dengan tanda kurung, seperti ini:

(function() { console.log(1); // akan menampilkan 1 })();

Misalkan variabel num didefinisikan di luar fungsi:

let num = 1; // titik koma ada (function() { console.log(num); // akan menampilkan 1 })();

Sekarang misalkan kita lupa memberi titik koma:

let num = 1 (function() { console.log(num); //!! akan memberikan error })();

Ternyata, kode seperti ini akan menghasilkan error, karena JavaScript menganggap fungsi kita sebagai kelanjutan dari perintah baris pertama.

Untuk menghindari masalah seperti ini, sebelum memanggil fungsi di tempat selalu perlu memberi titik koma, seperti ini:

let num = 1 ;(function() { console.log(num); // akan menampilkan 1 })();

Kelihatannya, masalah ini agak dibuat-buat. Sebenarnya tidak. Dapat terjadi situasi di mana Anda memiliki beberapa skrip yang terhubung dari file terpisah di halaman. Dalam kasus ini, di akhir satu file mungkin titik koma dihilangkan dan ini secara otomatis akan menyebabkan masalah, jika file kedua diawali dengan pemanggilan fungsi di tempat.

Oleh karena itu, selalu-selalu beri titik koma sebelum memanggil fungsi di tempat, bahkan jika pada saat ini Anda yakin tidak akan ada masalah. Masalah dapat muncul kemudian.

Mari terapkan penjelasan di atas dan panggil fungsi di tempat, dengan memberi titik koma di awal:

;(function() { console.log(1); // akan menampilkan 1 })();

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

let str = 'str'; (function() { console.log(1); })();

Tentukan, tanpa menjalankan kode, apa yang akan ditampilkan di konsol:

let str = 'str' (function() { console.log(1); })();
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