¿Ya dominas lo básico? Un curso estructurado de Dart & Flutter es la vía rápida para dar el salto.
Ver cursos de Dart & Flutter en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (print)
- 03Variables y tipos (var y anotaciones)
- 04Seguridad frente a null (? y !)
- 05Condicionales (la sentencia if)
- 06Repetir (el bucle for)
- 07Escribir tu propia función
- 08Repetir (el bucle while)
- 09Trabajar con listas (List)
- 10Trabajar con diccionarios (Map)
- 11Clases (orientación a objetos)
- 12Constructores
- 13Herencia
- 14Argumentos con nombre
- 15Trabajo asíncrono (Future, async, await)
- 16Trabajar con texto
- 17La sentencia switch
- 18El operador ternario
- 19Métodos de extensión
- 20[Proyecto] Construye un mini sistema de inventario
Seguridad frente a null (? y !)
En esta lección trabajarás con variables que pueden no tener valor, sin que el programa reviente.
En Dart, una variable normal no puede valer null. Para permitirlo hay que marcar el tipo con una interrogación: String? nickname;. El operador ?? devuelve el valor de la derecha cuando el de la izquierda es nulo.
El código de ejemplo imprime primero el texto por defecto, porque el apodo aún no tiene valor, y después el apodo real una vez asignado.
Esto es lo que se llama null safety, y llegó a Dart en 2021. La idea es que el error de «llamar a un método sobre algo que era nulo» —probablemente el fallo más común de la historia de la programación— pase de descubrirse cuando el usuario abre la aplicación a descubrirse mientras escribes el código.
Existe también el operador !, que le dice al compilador «confía en mí, aquí seguro que no es nulo». Es tentador usarlo para callar los avisos, pero si te equivocas el programa falla en tiempo de ejecución, exactamente el problema que null safety venía a eliminar. Salvo casos muy justificados, es mejor ?? o comprobarlo con un if.
🧪 Este sitio no puede compilar ni ejecutar Dart directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
