0Pricing
Frontend Academy · Pelajaran

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;       // cleared

undefined

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);         // undefined

null 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 this

Konversi 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')  // 10

Pemeriksaan 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

  1. Variabel: let, const, var, dan Cakupan
  2. Tipe Data: string, number, boolean, null, undefined
  3. Fungsi: Deklarasi, Ekspresi, Fungsi Panah
  4. Alur Kontrol: if, else, switch, for, while
← Kembali ke Frontend Academy