Tipe Data: string, number, boolean, null, undefined
Jelajahi tipe primitif JavaScript, gunakan typeof untuk memeriksanya, dan pelajari perbedaan antara null dan undefined.
Tipe Data: string, number, boolean, null, undefined adalah pelajaran Frontend Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Frontend Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Frontend Academy mencakup 4 pelajaran total.
Sistem Tipe JavaScript
JavaScript bertipe dinamis — variabel tidak memiliki tipe, tetapi nilailah yang memilikinya. Variabel yang sama dapat menyimpan string, lalu angka, lalu null. Memahami tujuh tipe primitif mencegah banyak jenis galat.
string
String merepresentasikan teks. Gunakan tanda kutip tunggal, tanda kutip ganda, atau backtick (literal templat). String tidak dapat diubah — metode string mengembalikan string baru. String memiliki properti .length dan banyak metode bawaan.
const greeting = 'Hello';
const lang = "JavaScript";
const sentence = `I love ${lang}`; // template literal
console.log(greeting.length); // 5
console.log('hello'.toUpperCase()); // 'HELLO'
console.log(' trim me '.trim()); // 'trim me'number
JavaScript memiliki satu tipe numerik. Semua angka — bilangan bulat dan bilangan pecahan — merupakan bilangan titik mengambang 64-bit (IEEE 754). Artinya, 0.1 + 0.2 !== 0.3. Nilai khususnya adalah Infinity, -Infinity, dan NaN (Bukan Angka).
const age = 30;
const price = 19.99;
console.log(0.1 + 0.2); // 0.30000000000000004
console.log(typeof NaN); // 'number'
console.log(isNaN('hello')); // true
console.log(Number.isNaN('hello')); // false (safer check)boolean
Boolean bernilai true atau false. Boolean digunakan dalam kondisi dan perbandingan. Setiap nilai dalam JavaScript memiliki sifat kebenaran bawaan: nilai falsy adalah false, 0, '', null, undefined, dan NaN. Selain itu, semuanya truthy.
const isActive = true;
const isAdmin = false;
// Falsy values:
if (0) { /* never runs */ }
if ('') { /* never runs */ }
if (null) { /* never runs */ }null
null adalah nilai kosong yang ditetapkan secara sengaja. Artinya, "tidak ada nilai dengan sengaja". Gunakan null ketika Anda ingin mengosongkan variabel atau menandai ketiadaan. typeof null === 'object' adalah galat JavaScript terkenal yang dipertahankan demi kompatibilitas warisan.
let selectedUser = null; // no user selected yet
selectedUser = { name: 'Alice' };
selectedUser = null; // clearedundefined
undefined berarti suatu nilai belum ditetapkan. Variabel yang dideklarasikan tetapi belum diinisialisasi bernilai undefined. Argumen fungsi yang tidak diberikan bernilai undefined. Properti objek yang tidak ada mengembalikan undefined.
let x; // undefined
function greet(name) {
console.log(name); // undefined if called as greet()
}
const obj = {};
console.log(obj.foo); // undefinednull vs undefined
null = sengaja tidak ada. undefined = belum ditetapkan. Sebagai aturan: biarkan mesin menetapkan undefined, dan gunakan null secara eksplisit dalam kode Anda sendiri ketika yang dimaksud adalah "kosong".
Operator typeof
Gunakan typeof untuk memeriksa tipe nilai saat program berjalan. Operator ini mengembalikan string: 'string', 'number', 'boolean', 'undefined', 'object', 'function', 'bigint', 'symbol'. Ingat: typeof null === 'object' adalah galat yang sudah dikenal.
typeof 'hello' // 'string'
typeof 42 // 'number'
typeof true // 'boolean'
typeof undefined // 'undefined'
typeof null // 'object' ← historical bug
typeof {} // 'object'
typeof [] // 'object'
typeof function(){} // 'function'Symbol dan BigInt
Simbol: pengenal unik dan tidak dapat diubah — digunakan sebagai kunci properti objek yang tidak akan bertabrakan. BigInt: bilangan bulat yang lebih besar daripada Number.MAX_SAFE_INTEGER (2^53-1). Dibuat dengan 42n atau BigInt(42). Biasanya tidak diperlukan untuk pekerjaan frontend.
Jebakan Konversi Tipe
JavaScript secara diam-diam mengonversi tipe dalam perbandingan dan operasi. Gunakan === (kesetaraan ketat), bukan == (kesetaraan longgar), untuk menghindari kejutan akibat konversi implisit.
0 == false // true (coercion)
0 === false // false (strict, no coercion)
'' == false // true
'5' == 5 // true
'5' === 5 // false ✓ use thisKonversi Tipe
Konversikan tipe secara eksplisit dengan Number(), String(), Boolean(), atau parseInt() / parseFloat(). Konversi eksplisit selalu lebih jelas daripada mengandalkan konversi implisit.
Number('42') // 42
Number('') // 0
Number('abc') // NaN
String(42) // '42'
Boolean(0) // false
Boolean('hello') // true
parseInt('10px') // 10Pemeriksaan Singkat
Apa yang dikembalikan typeof null dalam JavaScript?
Ringkasan: Tipe Data JavaScript
Tujuh tipe primitif: string, number, boolean, null, undefined, symbol, bigint. Gunakan typeof untuk memeriksa tipe. Gunakan === untuk perbandingan agar terhindar dari konversi implisit. Bedakan null (kosong secara sengaja) dari undefined (belum ditetapkan). Semua nilai lainnya adalah objek.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Tipe Data: string, number, boolean, null, undefined” gratis?
Ya — teks lengkap “Tipe Data: string, number, boolean, null, undefined” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Frontend Academy, upgrade ke CoddyKit PRO. Kursus Frontend Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Tipe Data: string, number, boolean, null, undefined”?
Jelajahi tipe primitif JavaScript, gunakan typeof untuk memeriksanya, dan pelajari perbedaan antara null dan undefined. Kamu berlatih Frontend Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Frontend Academy?
Tidak diperlukan pengalaman sebelumnya. Frontend Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Tipe Data: string, number, boolean, null, undefined” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Frontend Academy ini?
Ya. Setiap pelajaran Frontend Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Variabel: let, const, var, dan Cakupan
- Tipe Data: string, number, boolean, null, undefined
- Fungsi: Deklarasi, Ekspresi, Fungsi Panah
- Alur Kontrol: if, else, switch, for, while