繁体   English   中英

? 操作员避免 dart 中的 NoSuchMethodError

[英]? operator to avoid NoSuchMethodError in dart

我看到有人试图通过使用来避免 NoSuchMethodError 的视频? 操作员。 这是代码:

/*1*/ void main () {

/*2*/ var v = vu() ;
/*3*/ var f = v.casting()  ;
/*4*/ f.tbu ;

/*5*/}

在第 4 行显示错误

未处理的异常:NoSuchMethodError:在 null 上调用了 getter 'tbu'。 接收器:null 尝试呼叫:tbu

但他用的? 操作员:

/*1*/ void main () {

/*2*/ var v = vu() ;
/*3*/ var f = v.casting()  ;
/*4*/ f?.tbu ;

/*5*/}

运行没有问题。

我的问题是什么? 操作员??

放在点之前的问号允许条件属性访问,它可以防止尝试访问可能是 null 的 object 的属性或方法:

myObject?.someProperty

等效于以下内容:

(myObject != null) ? myObject.someProperty : null

这类似于 JavaScript 中的可选链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM