No, it does not. With Dart 2 (click for the announcement with more information) the new and also const keywords were made optional. This means that new Widget() does the exact same as Widget() on its own.
The @required annotation marks named arguments that must be passed; if not, the analyzer reports a hint. With null safety, a named argument with a non-nullable type must either have a default or be marked with the new required keyword.
Simultaneously, there are a few new provisions, including full-screen support for Android, more Material You support, updated text editing to help switchable keyboard shortcuts, a new, more definite look at your widgets in the Widget Inspector, new help for adding dependencies in your Visual Studio Code projects, new ...
No, it does not. With Dart 2 (click for the announcement with more information) the new
and also const
keywords were made optional.
This means that new Widget()
does the exact same as Widget()
on its own.
The const
keyword can, however, change a value that would not be a const
implicitly to a const
.
So you will have to explicitly specify const
when needed.
In Dart 2, if you invoke a constructor like a function, without a new
or const
in front, then it is equivalent to using new
.
If you want a const invocation, then you should put const
in front.
Inside a const expression, you don't need to write const
again, and in some contexts that require const expressions (like switch case expressions and initializers of const variables), you don't even need the outer const.
So you don't ever need to write new
.
Dart language team wants to allow expressions where you can insert either (That plan didn't pan out, so you can ignore this.)new
or const
and still have the invocation be correct (that is, a const constructor with constant arguments) to default to inserting const
instead of new
, hopefully in an early update to Dart 2.
For that reason, I recommend writing new
it in front of Object()
, or any other const constructor where you need the object to be a new instance. That's a very rare case, usually you don't care about the identity of your immutable object (which is why inserting const
is considered a good idea).
The new
keyword was made optional in Dart 2. As of now, calling a class will always return a new instance of that class. As per my recommendation, you can use it (NOT MANDATORY) outside of a Layout definition, but omit in inside Layouts.
One more point which I would like to share with you guys is that if you use new
or const
keyword while declaring widgets, you are also able to see the + icon which you can use to collapse and expand the widget body code. This is useful when you want to collapse/hide the rest widget code in dart file while working on another widget code in the same file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With