在我的基于Dart的应用程序中,我只是注意到我可以省略new关键字,一切都很好.
而不是final widget = new Widget();我也可以使用final widget = Widget();.
这对代码有影响吗?
cre*_*not 72
不,不是的.使用Dart 2(单击以获取更多信息的公告),new以及const关键字也是可选的.
这意味着与其自身new Widget()完全相同Widget().
lrn*_*lrn 15
在Dart 2中,如果你像一个函数一样调用一个构造函数,没有new或者const在前面,那么它等同于使用new.如果你想要一个const调用,那么你应该放在const前面.
在 const表达式中,您不需要const再次编写,并且在某些需要 const表达式的上下文中(如switch变量的表达式和初始化器),您甚至不需要外部const.
所以你永远不需要写new.
飞镖语言团队希望让表达式,可以插入任何new或const仍然有调用是正确的(即,一个const构造一个常量参数)默认为插入const代替new,希望在早期更新省道2.出于这个原因,我建议new在前面Object()或任何其他const构造函数中编写它,您需要将对象作为新实例.这是一个非常罕见的情况,通常你不关心你的不可变对象的身份(这就是为什么插入const被认为是一个好主意).
As all of the other answers state, in Dart 2, using new is optional. Furthermore, using new is discouraged by the Effective Dart guidelines.
该new关键字在 Dart 2 中是可选的。到目前为止,调用一个类将始终返回该类的一个新实例。根据我的建议,您可以在 Layout 定义之外使用它(NOT MANDATORY),但在 Layouts 内部省略。
我想与大家分享的另一点是,如果您在声明小部件时使用neworconst关键字,您还可以看到+ 图标,您可以使用它来折叠和展开小部件主体代码。当您在处理同一文件中的另一个小部件代码时想要折叠/隐藏dart 文件中的其余小部件代码时,这很有用。
| 归档时间: |
|
| 查看次数: |
6953 次 |
| 最近记录: |