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

Suscríbete a nuestro canal en Youtube
SuscríbirseEn 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 1110 veces | 0 usuarios
Código fuente no disponible.