Dasar-Dasar JavaScript: Callback, Objek, dan Eksekusi

JavaScript berjalan dalam dua cara: sinkron dan asinkron.

Kode sinkron berjalan baris demi baris. Engine menyelesaikan satu tugas sebelum memulai tugas berikutnya. Hal ini menghalangi tugas berikutnya untuk berjalan.

Kode asinkron memungkinkan tugas berjalan secara independen. Anda memulai sebuah tugas dan lanjut ke tugas berikutnya sambil menunggu. Hal ini meningkatkan performa pada aplikasi web.

Konsep utama asinkron: • Callback: Fungsi yang dimasukkan ke dalam fungsi lain untuk dijalankan nanti. • Promise: Objek yang merepresentasikan hasil dari suatu operasi. • Async/Await: Sintaks modern untuk membuat kode asinkron lebih mudah dibaca. • Event Loop: Sistem yang mengelola eksekusi tugas.

Memahami Proses dan Thread

Proses adalah program yang sedang dieksekusi. • Proses bersifat terisolasi. • Proses tidak berbagi memori. • Sebuah proses dapat membuat proses anak (child processes). • Membutuhkan waktu lebih lama untuk dihentikan.

Thread adalah segmen dari sebuah proses. • Sebuah proses dapat memiliki banyak thread. • Thread berbagi memori. • Membutuhkan waktu lebih singkat untuk dihentikan.

Apa itu Fungsi Callback?

Callback adalah fungsi yang dilewatkan sebagai argumen. Fungsi luar memanggilnya untuk menyelesaikan suatu tugas. Gunakan callback untuk: • Tugas asinkron seperti mengambil data (fetching data). • Penanganan peristiwa (event handling) seperti klik tombol. • Membuat kode yang dapat digunakan kembali (reusable code).

Objek JavaScript

Sebuah objek menyimpan data dalam pasangan kunci-nilai (key-value pairs). Kunci (key) mengidentifikasi nilai (value). Nilai dapat berupa tipe primitif, objek lain, atau fungsi.

Anda dapat membuat objek dengan dua cara:

  1. Object Literals: Gunakan kurung kurawal untuk mendefinisikan properti. Contoh: let user = {name: "Sourav", age: 23};

  2. Object Constructor: Gunakan perintah new Object(). Contoh: let user = new Object();

Objek bersifat mutable (dapat diubah). Anda dapat menambah, mengubah, atau menghapus properti kapan saja. Hal ini membantu Anda mengelompokkan data terkait menjadi satu.

Sumber: https://dev.to/karthick_07/understanding-callback-functions-objects-and-synchronous-programming-a-comprehensive-guide-27lb