BAB 25 — Built-in Objects & Methods: Menguasai API JavaScript Modern

BAB 25 — Built-in Objects & Methods: Menguasai API JavaScript Modern

JavaScript menyediakan built-in objects dan methods untuk mempermudah manipulasi data, perhitungan, waktu, dan operasi objek.

Menguasai API ini membuat kode lebih ringkas, efisien, dan maintainable.


1. String API Lengkap

String di JavaScript memiliki banyak method built-in:

const text = "Hello, World!";

// Manipulasi string
console.log(text.length);       // 13
console.log(text.toUpperCase()); // "HELLO, WORLD!"
console.log(text.toLowerCase()); // "hello, world!"

// Pencarian dan ekstraksi
console.log(text.indexOf("World")); // 7
console.log(text.includes("Hello")); // true
console.log(text.slice(0,5));       // "Hello"
console.log(text.substring(0,5));   // "Hello"

// Repeating & trimming
console.log("Hi! ".repeat(3));      // "Hi! Hi! Hi! "
console.log("   text   ".trim());    // "text"

// Split & Replace
console.log(text.split(", "));      // ["Hello", "World!"]
console.log(text.replace("World", "JS")); // "Hello, JS!"

Tips:

  • Gunakan trim() untuk membersihkan whitespace.
  • slice() lebih fleksibel daripada substring(), karena mendukung indeks negatif.

2. Number API

Beberapa method penting untuk manipulasi angka:

const num = 123.456;

// Formatting
console.log(num.toFixed(2));     // "123.46"
console.log(num.toPrecision(4)); // "123.5"
console.log(num.toString());     // "123.456"

// Check & Conversion
console.log(Number.isInteger(num));   // false
console.log(Number.parseFloat("12.34")); // 12.34
console.log(Number.parseInt("12.34"));   // 12

Tips:

  • Gunakan toFixed() untuk menampilkan angka dengan jumlah desimal tetap.
  • Gunakan Number.parseInt/parseFloat untuk konversi string ke number.

3. Math API

Math menyediakan fungsi matematika built-in:

console.log(Math.PI);             // 3.141592653589793
console.log(Math.round(4.7));     // 5
console.log(Math.floor(4.7));     // 4
console.log(Math.ceil(4.2));      // 5
console.log(Math.max(10,20,5));   // 20
console.log(Math.min(10,20,5));   // 5
console.log(Math.random());       // random 0–1
console.log(Math.sqrt(16));       // 4
console.log(Math.pow(2,3));       // 8

Tips:

  • Math.random() bisa digabung dengan Math.floor() untuk generate angka acak dalam range:
const random = Math.floor(Math.random()*100)+1; // 1–100

4. Date & Time API

Date di JavaScript digunakan untuk tanggal dan waktu:

const now = new Date();
console.log(now);                // current date and time
console.log(now.getFullYear());  // 2025
console.log(now.getMonth());     // 0–11 (0 = Jan)
console.log(now.getDate());      // 1–31
console.log(now.getDay());       // 0–6 (0 = Sunday)
console.log(now.getHours());     // 0–23
console.log(now.getMinutes());   // 0–59
console.log(now.getSeconds());   // 0–59

// Formatting
console.log(now.toISOString());
console.log(now.toLocaleDateString("id-ID"));
console.log(now.toLocaleTimeString("id-ID"));

Tips:

  • Gunakan toLocaleString() untuk menampilkan tanggal/waktu sesuai lokal.
  • Untuk operasi date kompleks → pertimbangkan library date-fns atau dayjs.

5. JSON API

JSON API digunakan untuk parsing dan serialisasi data:

const obj = { name: "Alice", age: 25 };

// Object → JSON string
const jsonStr = JSON.stringify(obj);
console.log(jsonStr); // '{"name":"Alice","age":25}'

// JSON string → Object
const parsedObj = JSON.parse(jsonStr);
console.log(parsedObj.name); // Alice

Tips:

  • JSON wajib dipakai saat fetch API atau menyimpan data di localStorage.

6. Object Utility

JavaScript menyediakan beberapa method utility untuk mengelola object:

const person = { name: "Bob", age: 30 };

// Copy/merge
const newPerson = Object.assign({}, person, { city: "Jakarta" });
console.log(newPerson); // {name: "Bob", age:30, city:"Jakarta"}

// Enumerate keys & values
console.log(Object.keys(person));   // ["name","age"]
console.log(Object.values(person)); // ["Bob",30]
console.log(Object.entries(person));// [["name","Bob"],["age",30]]

// Freeze & seal
Object.freeze(person); // tidak bisa diubah
Object.seal(person);   // bisa ubah property tapi tidak bisa tambah hapus

Tips:

  • Gunakan Object.assign() untuk clone object atau merge.
  • Gunakan Object.keys/values/entries untuk iterasi dinamis.
  • Gunakan freeze/seal untuk immutability & security.

7. Praktik Terbaik Built-in Objects

  1. Gunakan String API untuk manipulasi teks → lebih clean daripada manual slicing.
  2. Gunakan Number & Math API untuk format dan kalkulasi → hindari perhitungan manual.
  3. Gunakan Date API → hindari konversi manual untuk tanggal/waktu.
  4. Gunakan JSON API → wajib untuk fetch/REST API.
  5. Gunakan Object utility → clone, merge, freeze, enumerate → lebih maintainable.

💡 Insight: Menguasai built-in objects & methods membuat pengembangan JavaScript lebih cepat, aman, dan mengurangi kode boilerplate.