代码中有语法“?.”用法是…
ClassName objectName; objectName?.function();
这个函数在类中。为什么使用问号?这是什么语法?
7dl7o3gd1#
它是一个null aware operator。请看这篇文章:https://flutterigniter.com/checking-null-aware-operators-dart/特别是在“安全导航操作员”标题下
lyr7nygr2#
这是一个“条件成员访问”操作符(参见官方文档),它保证不会在空对象上尝试所讨论的function()。此外,由于dart 2.1.12有一个简洁的“级联表示法”,就像..一样,它允许你“在同一个对象上进行一系列操作”。,您可以将其与空检查运算符?组合合并,以生成?..;这具体地称为“零短路级联”。查看关于此事的官方文档。范例:
function()
2.1.12
..
?
?..
var submitButton = querySelector('#submit-button'); ?..onClick.listen((_) => {}); //null-shorting necessary only on first call ..scrollIntoView();
2条答案
按热度按时间7dl7o3gd1#
它是一个null aware operator。请看这篇文章:https://flutterigniter.com/checking-null-aware-operators-dart/
特别是在“安全导航操作员”标题下
lyr7nygr2#
这是一个“条件成员访问”操作符(参见官方文档),它保证不会在空对象上尝试所讨论的
function()
。此外,由于dart
2.1.12
有一个简洁的“级联表示法”,就像..
一样,它允许你“在同一个对象上进行一系列操作”。,您可以将其与空检查运算符?
组合合并,以生成?..
;这具体地称为“零短路级联”。查看关于此事的官方文档。
范例: