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`.