In Dart 2, se si richiama un costruttore come una funzione, senza un newo constdavanti, equivale a usare new. Se vuoi un'invocazione const, dovresti mettere constin primo piano.
All'interno di un'espressione const, non è necessario scrivere di constnuovo 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 newo conste che l'invocazione sia corretta (ovvero un costruttore const con argomenti costanti) per impostazione predefinita l'inserimento constanziché new, si spera in un aggiornamento iniziale di Dart 2. Per questo motivo , Ti consiglio di scriverlo newdavanti 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).
newoconstsono ancora necessarie (non ricordo esempi o regole). Potrebbero fare un altro tentativo dopo Dart 2 per renderlo opzionale ovunque.