Panduan Pemula untuk JavaScript - ECMAScript 2017

Hai sana, para pemrogram masa depan! Saya sangat gembira menjadi panduan Anda dalam perjalanan menarik ini ke dunia ECMAScript 2017. Sebagai seseorang yang telah mengajar ilmu komputer selama lebih dari satu dekade, saya dapat menjamin Anda bahwa belajar JavaScript adalah seperti membuka kekuatan super dalam zaman digital. Jadi, mari kita masuk dan jelajahi fitur fantastik yang diperkenalkan dalam ECMAScript 2017!

ECMAScript 2017

Fitur Baru yang Ditambahkan dalam ECMAScript 2017

ECMAScript 2017, juga dikenal sebagai ES8, membawa beberapa fitur game-changing ke JavaScript. Bayangkan itu seperti set baru alat yang ditambahkan ke kotak perkakas coding Anda. Fitur ini membuat kehidupan kita sebagai pengembang menjadi mudah dan kode kita menjadi lebih efisien. Mari kitauraikan mereka satu per satu!

String Padding: metode padStart() dan padEnd()

Apakah Anda pernah memerlukan menambahkan karakter ekstra di awal atau akhir string untuk membuatnya memiliki panjang tertentu? Well, ECMAScript 2017 telah menangani Anda dengan metode padStart() dan padEnd()!

padStart()

Metode padStart() memenuhi string saat ini dengan string lain sampai string yang dihasilkan mencapai panjang yang diberikan. Pemenuhan diterapkan dari awal string saat ini.

let str = '5';
console.log(str.padStart(3, '0')); // Output: '005'

Dalam contoh ini, kita memenuhi string '5' dengan nol sampai itu menjadi 3 karakter panjang. Itu seperti menambahkan nol awal ke sebuah nomor!

padEnd()

Secara mirip, padEnd() memenuhi string saat ini dari akhir.

let price = '99';
console.log(price.padEnd(5, '.00')); // Output: '99.00'

Di sini, kita menambahkan '.00' ke akhir '99' untuk membuatnya terlihat seperti harga dengan sen.

Metode ini sangat berguna saat Anda perlu memformat string untuk tampilan atau meratakan teks dalam cara tertentu.

Metode Object.entries()

Sekarang, mari bicarakan Object.entries(). Metode ini seperti seorang ahli sihir yang mengubah objek menjadi array pasangan [key, value] properti yang eigen. Itu sangat berguna saat Anda perlu mengulang properti objek.

let person = {
name: 'Alice',
age: 30,
city: 'New York'
};

console.log(Object.entries(person));
// Output: [['name', 'Alice'], ['age', 30], ['city', 'New York']]

Dalam contoh ini, Object.entries() mengubah objek person menjadi array di mana setiap elemen adalah array lain yang mengandung pasangan key-value. Itu seperti membuka suitase dan menata semua isinya!

Metode Object.values()

Object.values() adalah saudara Object.entries(). Daripada memberikan kita pasangan key-value, itu mengembalikan array hanya nilai properti dalam objek.

let fruits = {
apple: 5,
banana: 3,
orange: 2
};

console.log(Object.values(fruits)); // Output: [5, 3, 2]

Metode ini sangat cocok saat Anda hanya peduli tentang nilai dalam objek dan bukan tentang kunci mereka. Itu seperti mendapatkan daftar belanja tanpa harga!

JavaScript async dan await

Sekarang, kita memasuki realm JavaScript asinkron dengan async dan await. Kata kunci ini membuat bekerja dengan Promises (sebuah cara untuk menghandle operasi asinkron) menjadi lebih mudah dan dapat dibaca.

async function fetchUserData() {
try {
let response = await fetch('https://api.example.com/user');
let userData = await response.json();
console.log(userData);
} catch (error) {
console.error('Failed to fetch user data:', error);
}
}

fetchUserData();

Dalam contoh ini, async memberitahu JavaScript bahwa fungsi ini akan bekerja dengan kode asinkron. Kata kunci await menghentikan eksekusi fungsi sampai Promise terpenuhi. Itu seperti memberitahu JavaScript, "Tunggu di sini sampai tugas ini selesai sebelum melanjutkan."

Ini membuat kode asinkron terlihat dan berperilaku lebih seperti kode sinkron, yang jauh lebih mudah untuk dibaca dan dipahami!

Metode Object.getOwnPropertyDescriptors()

Metode ini mungkin terdengar menakutkan, tapi itu sebenarnya sangat berguna! Itu mengembalikan semua deskriptor properti milik objek yang diberikan.

let obj = {
name: 'John',
get age() { return 30; }
};

console.log(Object.getOwnPropertyDescriptors(obj));
/* Output:
{
name: {
value: 'John',
writable: true,
enumerable: true,
configurable: true
},
age: {
get: [Function: get age],
set: undefined,
enumerable: true,
configurable: true
}
}
*/

Metode ini sangat berguna saat Anda perlu menyalin properti dari satu objek ke objek lain, termasuk deskriptornya (seperti getters dan setters).

JavaScript Shared Memory dan Atomics

Akhirnya, mari kita bicarakan Shared Memory dan Atomics. Fitur ini memungkinkan thread yang berbeda dalam JavaScript untuk berbagi ruang memori yang sama dan melakukan operasi atomik.

// Buat buffer bersama
let sharedBuffer = new SharedArrayBuffer(4);
let sharedArray = new Int32Array(sharedBuffer);

// Lakukan operasi atomik
Atomics.store(sharedArray, 0, 42);
console.log(Atomics.load(sharedArray, 0)); // Output: 42

Ini adalah hal tingkat tinggi, biasanya digunakan dalam konteks di mana Anda memerlukan pengkomputan tingkat kinerja tinggi dalam JavaScript. Itu seperti beberapa chef yang bekerja di dapur yang sama, dapat berbagi bahan tanpa menghalangi satu sama lain!

Ringkasan Metode Baru

Berikut adalah tabel referensi singkat dari metode yang kita diskusikan:

Metode Deskripsi
String.prototype.padStart() Menyuap awal string saat ini dengan string lain
String.prototype.padEnd() Menyuap akhir string saat ini dengan string lain
Object.entries() Mengembalikan array pasangan [key, value] properti yang eigen objek
Object.values() Mengembalikan array nilai properti yang eigen objek
Object.getOwnPropertyDescriptors() Mengembalikan semua deskriptor properti milik objek
Atomics metode Menyediakan operasi atomik sebagai metode statis di objek Atomics

Dan itu saja! Kita telah menelusuri fitur utama yang diperkenalkan dalam ECMAScript 2017. Ingat, belajar untuk mengoding adalah perjalanan, bukan tujuan. Teruslatih, terus jelajahi, dan terutama, bersenang-senang dengan itu! Selamat coding!

Credits: Image by storyset