Inicio » Blog » Flutter

25 marzo, 2021

¿Qué es Null Safety?

Null Safety es una implementación que a partir del 3 de marzo podemos usarla en Dart 2.12 o superior donde las variables deben ser no nulas

¿Qué es Null Safety?

Suscríbete a nuestro canal en Youtube

Suscríbirse

En términos sencillos podemos decir que:

Null safety es una implementación que nos permite a los desarrolladores tener control sobre nuestros código cuando enviamos u obtenemos valores nulos que probablemente harán que nuestra aplicación presente errores debido a una excepción comunmente llamada "Null Exception", es decir:

Alguna variable, clase o método requiere un valor para poder ejecutarse pero no esta recibiendo valor alguno.

Hay que tener en cuenta que el null-safety desde mi punto de vista no se debe usar para dejar pasar el error sino para tener control.

Ejemplo sencillo de entender

Las variables que aceptan valores NULL son variables que pueden contener un valor válido o no; en el último caso, se consideran nulas, mientras que las variables que no aceptan valores NULL siempre deben contener un valor y nunca pueden ser nulas.

Un mal ejemplo

void main(){
String mivariable;
mivariable = null;
print("El valor es $mivariable");
}

Con la característica de seguridad nula de Dart, un código como el anterior arrojará un error y no se compilará.

Dado que aquí todos los tipos no son nulos por defecto, siempre es importante inicializar siempre una variable no nula con valores no nulos. Esto nos ayuda a escribir código seguro para nulos con sólidas garantías de tiempo de compilación.

Trabajar con Nullable en Dart

Un ejemplo válido

void main() {
  for (int i = 0; i < 5; i++) {
    print('hello ${i + 1}');
  }
}

Link para trastear código de pruebas en línea https://nullsafety.dartpad.dev/

$name?  .- te permite usar nula o no nulla

void main() {
  int? e = 5;
  int v = e!; // v is non-nullable; would throw an error if e were null

  String? word;
  print(word!); // throws runtime error if word is null

  print(null!); // throws runtime error
}

 

class ExampleState extends State {
  late final String word; // non-nullable

  @override
  void initState() {
    super.initState();

    // print(word) here would throw a runtime error
    word = 'Hello';
  }
}

 

void main() {
  List<int>? list = [1, 2, 3];

  int? x = list?[0]; // 1
}

La idea es que la variable tiene que ser declarada con un valor, puesto que el compilador va a controlar ese detalle.
Dart todavía proporciona una forma de declarar valores que aceptan valores NULL. Esto se puede hacer agregando un signo de interrogación al parámetro de tipo y esto le dice al compilador que se puede permitir que este valor sea nulo.

https://dart.dev/null-safety

Conclusión

Null Safety es un cambio importante para el lenguaje Dart y se ha introducido para ayudarte a escribir un código mejor y más seguro.

Pero al final del día, Null Safety es solo una herramienta, y es su trabajo usarla correctamente.

Cada vez que declare una variable en Dart, piense si debería ser null o no. Esto puede parecer un trabajo adicional, pero conducirá a un mejor código y Dart puede ayudarlo en el camino.


 

 

 

 


Leido 529 veces

Compartir link del tutorial con tus amigos


Aprende más sobre Flutter

Cursos de programación

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023