Dart 可直接在 ()
判斷 Boolean 為 true
或 false
。
Version
Dart 3.3
Boolean Equality
void main() {
var flag1 = true; // bool
if (flag1) {
print('flag1 is true');
} else {
print('flag1 is false');
}
if (!flag1) {
print('flag1 is false');
} else {
print('flag1 is true');
}
}
- Dart 在
()
可直接判斷true
,也可加上 ! 判斷 `false``
String
void main() {
var flag = ''; // String
if (flag) { // X
print('flag1 is true');
} else {
print('flag1 is false');
}
}
- Dart 在
()
不可判斷 Empty String
JavaScript 將 Empty String 視為
false
,Non Empty String 視為true
int
void main() {
var flag = 0; // int
if (flag) { // X
print('flag1 is true');
} else {
print('flag1 is false');
}
}
- Dart 在
{}
不可判斷 Number
JavaScript 將
0
視為false
,非0
視為true
Conclusion
- JavaScript 在
()
除了可判斷 Boolean 外,亦可判斷 String 與 Number;但 Dart 在()
只能判斷 Boolean - JavaScript 的 Empty String 視為
false
,Non Empty String 視為true
的技巧在 Dart 不能用 - JavaScript 的 0 視為
false
,非0
視為true
的技巧在 Dart 也不能用