En Dart 2, si invoca un constructor como una función, sin newo constal frente, entonces es equivalente a usar new. Si desea una invocación constante, debe poner constal frente.
Dentro de una expresión const, no es necesario volver a escribir const, y en algunos contextos que requieren expresiones const (como expresiones de cambio de mayúsculas y minúsculas e inicializadores de variables const), ni siquiera necesita la const externa.
Así que no necesitas escribir nunca new.
El equipo de lenguaje de Dart quiere permitir expresiones en las que puede insertar newo consty que la invocación sea correcta (es decir, un constructor constante con argumentos constantes) para que se inserten de forma predeterminada en constlugar de new, con suerte, en una actualización temprana de Dart 2. Por esa razón , Recomiendo escribirlo newdelante de Object(), o cualquier otro constructor constante donde necesite que el objeto sea una nueva instancia. Ese es un caso muy raro, por lo general no le importa la identidad de su objeto inmutable (razón por la cual insertar constse considera una buena idea).
newoconsttodavía son necesarios (no me acuerdo ejemplos o reglas). Es posible que hagan otro intento después de Dart 2 para que sea opcional en todas partes.