Skip to content

Null safety

El lenguaje Dart se asegura ser un lenguaje null safety.

Null safety evita errores que resultan del acceso involuntario a variables establecidas como nulas (null).

Con esto, todas las variables requieren un valor. Esto significa que Dart considera todas las variables no-nulas (non-nullable).

Para poder declarar variables nulas se debe agregar un signo de pregunta ?, después la notación del tipo; es decir, tipo? nombreVariable. Esto especifica que el tipo puede contener nulo o algún valor.

Contando con esta propiedad Dar analiza previo a la compilación si algún valor es nulo y evita que se compile. a menos que se haya indicado el operador ?.

Principios de Null safety

Dart supports null safety using the following two core design principles:

Dart soporta null safety usando los siguientes dos principios fundamentales de diseño.

  • Todo es non-nullable por default. A menos que explícitamente se indique que la variable puede ser nula (null).
  • Puesto que es seguro de nulos, hay optimizaciones en el compilador, y puede llegar a ser mas pequeños los binarios.

Declarando nulos

La forma de declarar cualquier objeto como nulo, es decir, que no tenga referencia a nada es:

tipo? nombreVariable = null;
tipo? nombreVariable;

String? name = null;
int? age;

Cuando manejamos variables nulas, debemos siempre esta validando si contiene un valor o no:

String? name = null;

if(name == null){
    print("La variable no contiene referencia o valor");
}else{
    print(name);
}

En general no se deben manejar variables nulas, pero en ocasiones es necesario.

Mas adelante seguiremos aplacando valores nulos.


Mas información en https://dart.dev/null-safety/understanding-null-safety