Dart 判断是否Web的另类方法

8 min read
const bool kIsWeb = identical(0, 0.0);

kIsWeb 是一个常量,它的值是通过比较整数 0 和浮点数 0.0 来确定的。如果它们相等,则 kIsWeb 的值为 true,表示当前的环境是在 Web 上运行的。如果它们不相等,则 kIsWeb 的值为 false,表示当前的环境不是在 Web 上运行的。

/// Check whether two references are to the same object.
///
/// Example:
/// ```dart
/// var o = new Object();
/// var isIdentical = identical(o, new Object()); // false, different objects.
/// isIdentical = identical(o, o); // true, same object
/// isIdentical = identical(const Object(), const Object()); // true, const canonicalizes
/// isIdentical = identical([1], [1]); // false
/// isIdentical = identical(const [1], const [1]); // true
/// isIdentical = identical(const [1], const [2]); // false
/// isIdentical = identical(2, 1 + 1); // true, integers canonicalizes
/// `