In Dart 2, se si richiama un costruttore come una funzione, senza un new
o const
davanti, equivale a usare new
. Se vuoi un'invocazione const, dovresti mettere const
in primo piano.
All'interno di un'espressione const, non è necessario scrivere di const
nuovo e in alcuni contesti che richiedono espressioni const (come espressioni di maiuscole e minuscole e inizializzatori di variabili const), non è nemmeno necessario il const esterno.
Quindi non hai mai bisogno di scrivere new
.
Il team del linguaggio di Dart vuole consentire alle espressioni in cui è possibile inserire o new
o const
e che l'invocazione sia corretta (ovvero un costruttore const con argomenti costanti) per impostazione predefinita l'inserimento const
anziché new
, si spera in un aggiornamento iniziale di Dart 2. Per questo motivo , Ti consiglio di scriverlo new
davanti a Object()
, o qualsiasi altro costruttore const in cui hai bisogno che l'oggetto sia una nuova istanza. È un caso molto raro, di solito non ti interessa l'identità del tuo oggetto immutabile (motivo per cui l'inserimento const
è considerato una buona idea).
new
oconst
sono ancora necessarie (non ricordo esempi o regole). Potrebbero fare un altro tentativo dopo Dart 2 per renderlo opzionale ovunque.