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:
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