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.
Contents
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 daripadasubstring(), 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/parseFloatuntuk 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 denganMath.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/entriesuntuk iterasi dinamis. - Gunakan
freeze/sealuntuk immutability & security.
7. Praktik Terbaik Built-in Objects
- Gunakan String API untuk manipulasi teks → lebih clean daripada manual slicing.
- Gunakan Number & Math API untuk format dan kalkulasi → hindari perhitungan manual.
- Gunakan Date API → hindari konversi manual untuk tanggal/waktu.
- Gunakan JSON API → wajib untuk fetch/REST API.
- 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.