Pengenalan ke ES6 dan JavaScript Modern
ECMAScript 6 (ES6) adalah versi JavaScript yang membawa banyak fitur baru untuk meningkatkan efisiensi dan kemudahan penulisan kode. Berikut beberapa fitur utama yang perlu dipahami:
- Let dan Const
letdigunakan untuk variabel yang nilainya bisa berubah.constdigunakan untuk variabel yang nilainya tetap.- Contoh:
let nama = "Ali"; nama = "Budi"; // Bisa diubah const umur = 25; // umur = 30; // Error, tidak bisa diubah
- Arrow Function
- Sintaks lebih ringkas untuk fungsi anonim.
- Contoh:
const tambah = (a, b) => a + b; console.log(tambah(5, 3)); // Output: 8
- Template Literals
- Memudahkan penggunaan string dengan backtick (
`). - Contoh:
let nama = "Ali"; console.log(`Halo, nama saya ${nama}`); // Output: Halo, nama saya Ali
- Memudahkan penggunaan string dengan backtick (
- Destructuring Assignment
- Mempermudah ekstraksi nilai dari array atau objek.
- Contoh:
const person = { nama: "Budi", umur: 30 }; const { nama, umur } = person; console.log(nama, umur); // Output: Budi 30
- Spread dan Rest Operator
Spread (...)digunakan untuk menyalin atau menggabungkan array/objek.Rest (...)digunakan untuk menangkap sisa parameter dalam fungsi.- Contoh:
const angka = [1, 2, 3]; const angkaBaru = [...angka, 4, 5]; console.log(angkaBaru); // Output: [1, 2, 3, 4, 5] const sum = (...nums) => nums.reduce((a, b) => a + b, 0); console.log(sum(1, 2, 3, 4)); // Output: 10
- Promise & Async/Await
- Mempermudah penulisan kode asynchronous.
- Contoh Promise:
const fetchData = () => { return new Promise((resolve, reject) => { setTimeout(() => resolve("Data berhasil diambil"), 2000); }); }; fetchData().then((data) => console.log(data)); - Contoh Async/Await:
const getData = async () => { const data = await fetchData(); console.log(data); }; getData();
- Module (Import & Export)
- Memisahkan kode dalam file yang berbeda.
- Contoh:
// file.js export const salam = () => console.log("Halo!"); // main.js import { salam } from './file.js'; salam(); // Output: Halo!
Dengan memahami fitur ES6 ini, Anda bisa menulis kode JavaScript yang lebih bersih, efisien, dan mudah dibaca.