Referensi cepat JavaScript dari basic sampe advanced. Cocok buat yang baru belajar atau butuh quick lookup.
Pengenalan dasar JavaScript untuk memulai coding dengan bahasa pemrograman yang powerful dan fleksibel.
Cara menggunakan console untuk debugging dan output informasi selama development.
// Output ke console
console.log('Hello World');
// Dengan multiple values
console.log('Nilai:', 42);
Cara mendeklarasikan variabel dalam JavaScript dengan berbagai jenis scope dan behavior.
// let - bisa di-reassign
let name = 'John';
name = 'Jane'; // OK
// const - gabisa di-reassign
const PI = 3.14159;
// PI = 3.14; // Error!
// var - old way (hindari kalo bisa)
var oldSchool = 'avoid this';Operasi dan manipulasi angka dalam JavaScript dengan berbagai method matematika.
// Integer (angka bulat)
let age = 25;
// Float (angka desimal)
let price = 99.99;
// Operasi matematika
let sum = 10 + 5; // 15
let
Manipulasi teks dan string dalam JavaScript dengan berbagai method yang tersedia.
// Bikin string
let single = 'Hello';
let double = "World";
let template = `Hello ${name}`;
// Method-method string
let text =
Cara membuat string yang lebih readable dengan fitur interpolation dan multi-line.
const name = 'Budi';
const age = 25;
// String multi-line
const message = `
Halo, nama gw ${name}.
Umur gw ${age} tahun.
Tahun depan gw ${age + 1} tahun.
Struktur kontrol untuk membuat keputusan dalam kode berdasarkan kondisi tertentu.
Struktur if-else untuk mengeksekusi kode berdasarkan kondisi yang berbeda.
if (age >= 18) {
console.log('Udah dewasa');
}
if (score >= 90) {
console.log('Mantap!');
} else if (score >= 70) {
Operator ternary sebagai cara singkat untuk if-else dalam satu baris.
// kondisi ? true : false
const status = age >= 18 ? 'Adult' : 'Minor';
// Nested ternary (hati-hati, bisa bikin pusing)
const grade = score >= 90 ? 'A' : score >= 80 ? 'B' :Operator untuk membandingkan nilai dan tipe data dalam JavaScript.
// Persamaan
5 == '5' // true (cuma nilai)
5 === '5' // false (nilai + tipe)
5 != '5' // false
5 !== '5' // true
// Perbandingan
5 > 3 // true
5 < 3 // false
Operator logika untuk menggabungkan kondisi boolean.
// AND (&&) - semua harus true
const canDrive = age >= 17 && hasLicense;
// OR (||) - salah satu true
const isWeekend = day === 'Saturday' || day === 'Sunday';
// NOT (!) - balik nilai boolean
const isNotLoggedIn
Struktur switch untuk memilih case berdasarkan nilai tertentu.
switch (day) {
case 'Monday':
console.log('Mulai kerja');
break;
case 'Friday':
console.log('Weekend soon!');
break;
case 'Saturday':
case
Cara mendefinisikan dan menggunakan fungsi untuk mengorganisir dan reuse kode.
Cara mendeklarasikan fungsi dengan statement function.
function greet(name) {
return `Hello, ${name}!`;
}
greet('Budi'); // "Hello, Budi!"Cara mendefinisikan fungsi sebagai expression yang bisa disimpan dalam variabel.
const greet = function(name) {
return `Hello, ${name}!`;
};Sintaks modern untuk mendefinisikan fungsi dengan cara yang lebih ringkas.
// Arrow function dasar
const greet = (name) => {
return `Hello, ${name}!`;
};
// Versi pendek (return otomatis)
const greet = (name) => `Hello, ${name
Cara memberikan nilai default pada parameter fungsi.
function greet(name = 'Guest') {
return `Hello, ${name}!`;
}
greet(); // "Hello, Guest!"
greet('Budi'); // "Hello, Budi!"Cara mengumpulkan sisa parameter menjadi array dalam fungsi.
function sum(...numbers) {
return numbers.reduce((total, num) => total + num, 0);
}
sum(1, 2, 3, 4Struktur data untuk menyimpan koleksi nilai dalam urutan tertentu.
Berbagai cara untuk membuat array dalam JavaScript.
const fruits = ['Apple', 'Banana', 'Orange'];
const numbers = [1, 2, 3, 4, 5];
const mixed = [1, 'two'
Method-method penting untuk manipulasi array seperti push, pop, slice, dll.
const arr = [1, 2, 3, 4, 5];
// Tambah/Hapus
arr.push(6); // Tambah di akhir [1,2,3,4,5,6]
Method untuk melakukan iterasi dan transformasi pada array.
Method untuk menjalankan fungsi pada setiap elemen array.
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((num) => {
console.log(num * 2);
});
// Output: 2, 4, 6, 8, 10Method untuk mentransformasi setiap elemen array menjadi nilai baru.
// Transform array
const doubled = numbers.map(num => num * 2);
// [2, 4, 6, 8, 10]
const names = ['john', 'jane'];
const capitalized = names.map
// Filter array
const evens = numbers.filter(num => num % 2 === 0);
// [2, 4]
const adults = users.filter(user => user.age >= 18);// Jumlahkan semua angka
const sum = numbers.reduce((total, num) => total + num, 0);
// 15
// Hitung jumlah kemunculan
const fruits = ['apple',
const users = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' }
];
const user = users.find(u => u.id === 2);
// { id: 2, name: 'Jane' }
const numbers = [1, 2, 3, 4, 5];
// some - ada yang true?
numbers.some(num => num > 4); // true
// every - semua true?
numbers.every// For loop klasik
for (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4
}
// Loop terbalik
for (let i = 5; i > 0
let i = 0;
while (i < 5) {
console.log(i);
i++;
}let i = 0;
do {
console.log(i);
i++;
} while (i < 5);// Loop lewat array values
const fruits = ['Apple', 'Banana', 'Orange'];
for (const fruit of fruits) {
console.log(fruit);
}// Loop lewat object keys
const person = { name: 'John', age: 30 };
for (const key in person) {
console.log(`${key}: ${person[key]}`);
}// Break - keluar dari loop
for (let i = 0; i < 10; i++) {
if (i === 5) break;
console.log(i); // 0, 1, 2, 3, 4
}
// Continue - skip iterasi
// Object literal
const person = {
name: 'John',
age: 30,
city: 'Jakarta'
};
// New Object
const obj = new Object();
obj.name = 'John';// Dot notation
person.name; // 'John'
// Bracket notation
person['age']; // 30
// Property dinamis
const prop = 'city';
person[prop]; // 'Jakarta'const person = {
name: 'John',
age: 30,
greet: function() {
return `Hello, I'm ${this.name}`;
},
// Shorthand method
sayHi() {
return
const person = { name: 'John', age: 30, city: 'Jakarta' };
// Destructure
const { name, age } = person;
console.log(name); // 'John'
// Ganti nama variabel
const
const person = { name: 'John', age: 30 };
// Copy object
const copy = { ...person };
// Gabung object
const address = { city: 'Jakarta', country: 'Indonesia' };
const
const person = { name: 'John', age: 30 };
// Ambil key
Object.keys(person); // ['name', 'age']
// Ambil value
Object.values(person); // ['John', 30]
// Ambil entries
Object.entries(person); // [['name', 'John'], ['age', 30]]
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
return `Hello, I'm ${this.name}`;
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a sound`;
}
}
class MathHelper {
static add(a, b) {
return a + b;
}
static PI = 3.14159;
}
MathHelper.add(5, 3);
class Circle {
constructor(radius) {
this._radius = radius;
}
get radius() {
return this._radius;
}
set radius(value) {
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
const success = true;
if (success) {
resolve('Success!');
}
promise
.then(result => {
console.log(result); // 'Success!'
})
.catch(error => {
console.error(error);
})
.finally(() => {
const promise1 = Promise.resolve(3);
const promise2 = Promise.resolve(42);
const promise3 = Promise.resolve('foo');
Promise
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
} catch (error) {
// Array destructuring
const [first, second, ...rest] = [1, 2, 3, 4, 5];
// first: 1, second: 2, rest: [3, 4, 5]
// Object destructuring
const { name, const user = {
name: 'John',
address: {
city: 'Jakarta'
}
};
// Without optional chaining
const city = user.address ? user.address.city : undefined;
// With optional chaining
// Old way
const name = username || 'Guest';
// Problem: '' and 0 are also replaced
const count = userCount || 10; // if userCount is 0, still returns 10
// New way with ??
const count = userCount ?? 10; // Export
export const name = 'John';
export function greet() { }
// Default export
export default class Person { }
// Import
import Person, { name, greet } from './module.js';
// Import all