Dart tour: 6、操作符
本篇仅介绍些独特的操作符,常规的可以查操作符文档。
#
类型判断运算符as
: 类型转换(也用作指定类前缀))is
: 如果对象是指定类型则返回 trueis!
: 如果对象是指定类型则返回 false
当且仅当
obj
实现了T
的接口,obj is T
才是true
。例如obj is Object
总为true
,因为所有类都是Object
的子类。
#
赋值运算符??=
: 仅当被赋值的变量为null
时,才可以成功赋值。
#
条件运算符condition ? expr1 : expr2
: 三元表达式expr1 ?? expr2
: 如果表达式 1 为非null
则返回其值,否则执行表达式 2 并返回其值。
#
级联运算符
?..
语法是在Dart 2.12
中引入的。
级联运算符 (..
, ?..
) 可以在同一个对象上连续调用多个对象的变量或方法。
#
访问成员.
: 访问成员。?.
: 条件访问成员, 与上述成员访问符类似,但是左边的操作对象不能为null
,例如foo?.bar
,如果foo
为null
则返回null
,否则返回bar
。