本文不適合小白與非 IT 相關人員閱讀。
運算符
常用或常見運算符不做說明。
取模運算符
// ~/
2.2 ~/ 2 = 1; // 取除法後的整數
2.2 / 2 = 1.1; // 對比的除法
2.2 % 2 = 0.2; // 對比的取餘
is, is! 類型檢測
ina i = 2
print(i is int); // true
print(i is! String); // true
as 類型替換(相當於 is 某些場景的簡寫)
// 有個 p 是 Person 的實例,Person 定義有 name 屬性。
// 安全調用如下
if(p is Person) {
print(p.name);
}
// 使用 as
print((p as Person).name);
?? 相當於 JS 的 ||,不是邏輯或,前面內容為 null 時候,使用後面的值。
var a1 = null;
var a2 = 1;
print(a1); // null
print(a1 ?? 'a1'); // a1
print(a2); // 1
print(a1 ?? 'a2'); // 1
.. 級聯運算符
// 連續調用上一個變量,比如 dart:html
querySelector('#test')
..text='test' // 調用的是上面的 DOM
..classes.add('important') // 調用的依然是上面的 DOM
// .. 無限下去調用上面的 DOM
?. 安全調用運算符
var a = null;
var b = Person(name: 'zwei');
print(a.name); // 報錯,無法從 null 獲取 name 屬性
print(a?.name); // 不報錯,打印 null
print(b.name); // zwei
print(b?.name); // zwei
下篇:變量。