¿Cuál es la diferencia entre los constructores?

    class UserRepository {
    final FirebaseAuth _firebaseAuth;
    final GoogleSignIn _googleSignIn;

    UserRepository({FirebaseAuth firebaseAuth, GoogleSignIn googleSignin})
  : _firebaseAuth = firebaseAuth ?? FirebaseAuth.instance,
    _googleSignIn = googleSignin ?? GoogleSignIn();
    }

VERSUS

class UserRepository {
final FirebaseAuth _firebaseAuth;
final GoogleSignIn _googleSignIn;

UserRepository({this._firebaseAuth, this._googleSignin});
1
Nikash Deka 23 ene. 2021 a las 05:54

1 respuesta

La mejor respuesta

Brevemente, en la función anterior, los valores predeterminados se asignan cuando el parámetro del constructor es nulo. Entonces siempre tiene un valor predeterminado. (El operador). Mientras que el de abajo no lo es.

1
Quang L. 28 ene. 2021 a las 09:39