// JavaScript
var name = "JavaScript";
// Dart
String name = 'dart'; // Explicitly typed as a string.
var otherName = 'Dart'; // Inferred string.
// Both are acceptable in Dart.
默认值
在JavaScript中,未初始化的变量是undefined。
在Dart中,未初始化的变量的初始值为null。
注意:数字在Dart中也被当成对象,所以只要是带有数字类型的未初始化变量的值都是“null”。
// JavaScript
var name; // == undefined
// Dart
var name; // == null
int x; // == null
检查null或零
在JavaScript中,1或任何非null对象的值被视为true。
// JavaScript
var myNull = null;
if (!myNull) {
console.log("null is treated as false");
}
var zero = 0;
if (!zero) {
console.log("0 is treated as false");
}
在Dart中,只有布尔值“true”被视为true。
// Dart
var myNull = null;
if (myNull == null) {
print('use "== null" to check null');
}
var zero = 0;
if (zero == 0) {
print('use "== 0" to check zero');
}