JavaScript — Semua yang Anda Ketahui tentang JS

Nov 30 2022
Ada beberapa konsep inti dalam JavaScript (juga dikenal sebagai JS) yang sangat penting untuk dipelajari. Di blog ini, saya mencoba memberikan demonstrasi singkat namun to-the-point dari konsep-konsep penting JS tersebut.

Ada beberapa konsep inti dalam JavaScript (juga dikenal sebagai JS) yang sangat penting untuk dipelajari. Di blog ini, saya mencoba memberikan demonstrasi singkat namun to-the-point dari konsep-konsep penting JS tersebut. Tentunya, setelah Anda mempelajari topik tersebut, JavaScript akan menjadi kurang aneh bagi Anda. Jadi, tanpa basa-basi lagi! Mari kita mulai.

Abstraksi Tinggi
Dalam pemrograman, abstraksi tinggi berarti bagian yang relatif kompleks disembunyikan dan bagian penyederhanaan dilihat. Sintaks bahasa abstraksi tinggi mudah dibandingkan dengan bahasa tingkat rendah seperti C, dan Java yang memudahkan programmer untuk bekerja dengan bahasa abstraksi tinggi seperti JavaScript, Python, Go dan sebagainya.

Pengumpul Sampah
Tidak seperti bahasa tingkat rendah seperti C, kita tidak perlu menyimpan memori secara manual di JavaScript. Sebaliknya, JavaScript menggunakan manajemen memori otomatis yang disebut Pengumpulan Sampah. Dengan menggunakan algoritme Mark-and-Sweep, mesin JavaScript secara otomatis mengumpulkan alokasi memori yang tidak terpakai dan kemudian membuangnya.

Dikompilasi JIT
Dengan bantuan kompilasi JIT (tepat waktu), program ini dikompilasi selama waktu eksekusi menjadi kode asli untuk meningkatkan kinerja. Browser modern mendukung kompilasi JIT untuk mengkompilasi kode JavaScript yang membuat waktu eksekusi lebih cepat.

Multi-paradigma
Bahasa multi-paradigma memungkinkan pemrogram merancang program dalam berbagai pendekatan. JavaScript mendukung Pemrograman Berorientasi Objek, Pemrograman prosedural, Pemrograman Fungsional, dan sebagainya.

Berbasis Prototipe
Jelas, JavaScript adalah bahasa berbasis prototipe, artinya properti dan metode suatu objek dapat dibagikan ke seluruh objek umum yang dapat dikloning dan diperluas. Dengan kata sederhana, Anda dapat mengkloning properti dan metode objek dan juga dapat menambahkan properti dan metode tambahan ke objek yang baru dikloning tersebut.

Diketik Secara Dinamis
Sederhananya, dalam JavaScript jenis variabel diperiksa dalam waktu proses. Untuk itu, kita bahkan tidak perlu menentukan tipe data dari sebuah variabel. Selain itu, ini disebut bahasa yang diketik secara longgar karena tipe data juga dapat diubah secara otomatis dalam waktu eksekusi yang disebut pemaksaan tipe. Namun, TypeScript, superset JavaScript, adalah bahasa yang diketik secara statis.

JS Single-Threaded
memiliki satu tumpukan panggilan dan satu tumpukan memori yang berarti hanya ada satu utas (proses) untuk instruksi yang akan dieksekusi. Terus terang, hanya satu pernyataan yang dieksekusi pada satu waktu dalam JavaScript.

Asinkron
Meskipun merupakan bahasa single-threaded, JavaScript berperilaku asinkron dengan bantuan antrean callback dan loop peristiwa. Pernyataan asinkron disimpan dalam antrean panggilan balik dan dipanggil oleh loop peristiwa dan setelah itu dijalankan setiap kali operasi sinkron dijalankan.

Non-Blocking
Non-blocking mengacu pada gagasan tidak memblokir eksekusi untuk operasi lebih lanjut. JavaScript tidak menunggu untuk menyelesaikan operasi I/O yang diperpanjang dan permintaan HTTPS. Alih-alih menunggu, ia menyimpan pernyataan asinkron dalam antrean panggilan balik dan menjalankan sisa operasi sinkron. Konsep non-pemblokiran ini juga terkait dengan perilaku asinkron JavaScript yang sudah kita bahas.

Fungsi adalah warga negara kelas satu
Fungsi disebut warga negara kelas satu dalam JavaScript. Karena, dalam JavaScript, fungsi dapat dideklarasikan sebagai variabel, dapat diteruskan sebagai argumen dalam fungsi lain, dan dapat dikembalikan dari suatu fungsi. Juga, fungsi dapat diatur sebagai metode objek.

Catatan: Di blog ini, saya hanya mencoba memberikan gambaran tentang fitur dan karakteristik paling penting dari JavaScript. Sekarang tugas Anda untuk mempelajari lebih lanjut tentang topik yang disebutkan di atas.