← Kembali ke kursus
Pelajaran kursus · Dart
Pelajaran 05

Operator dan cascade

Aritmetika, perbandingan, type test, cascade `..`.

Pahami konsepnya

Operator aritmetika: + - * / % ~/(integer division). Perbandingan: == != < > <= >=. Logika: && || !. Type test: is, is!, as (cast).

Cascade (..) memungkinkan memanggil beberapa method pada objek yang sama tanpa menulis namanya berulang: canvas..rect(..)..fill(..). Ini idiom Dart yang bersih untuk builder pattern.

Null-aware: ?? (nullish coalescing), ?. (conditional access), ??= (assign if null), ! (null assertion).

Coba contoh kode

Object bacaNilai() => "Ari";

void main() {
  print(7 / 2);    // 3.5
  print(7 ~/ 2);   // 3 — integer division
  print(7 % 2);    // 1

  Object nama = bacaNilai();
  print(nama is String);  // true
  print(nama is! int);    // true

  int? mungkin = null;
  print(mungkin ?? 0);    // 0
  mungkin ??= 10;         // assign jika null
  print(mungkin);         // 10
}

~/ adalah integer division khas Dart (7 ~/ 2 = 3). ?? memberi cadangan untuk null. ??= hanya mengisi bila masih null.

Latihan singkat

Uji: 7 ~/ 2 dan 7 % 2 — harus `3` dan `1`.