Cascadas con null (?..)
Usar cascadas de forma segura sobre objetos anulables.
Cascadas con null (?..) es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.
La trampa de nullable
Una cascada normal aplicada a un valor que podría ser null provocará un error. Llamar a un método sobre null genera un error antes de ejecutar cualquier línea.
Conozca la cascada con cortocircuito de null
Dart ofrece una versión segura: la cascada con cortocircuito de null, escrita con un signo de interrogación seguido de dos puntos. Solo se ejecuta cuando el objeto no es null.
button?..text = 'Save'
..onTap = save;Cómo funciona el cortocircuito
Si el destino es null, se omite toda la cascada y la expresión simplemente se convierte en null. No hay errores ni trabajo a medias.
Solo el primer punto lo necesita
El signo de interrogación se escribe una sola vez, en la primera cascada. Las líneas siguientes mantienen los dos puntos; Dart ya sabe que el objeto no es null.
obj?..a()
..b()
..c();Todo o nada
El cortocircuito de null es todo o nada: se ejecutan todas las líneas porque el objeto existe, o no se ejecuta ninguna. La cadena nunca queda a medias.
Comparación con una cascada normal
Una cascada normal supone que el objeto existe. La forma con cortocircuito de null es su red de seguridad cuando el tipo es nullable y el valor podría faltar.
Devuelve un valor nullable
Como el resultado puede ser el objeto o null, toda la expresión tiene un tipo nullable. Trate el valor recibido como posiblemente null.
Un ejemplo real
Imagine una configuración que todavía podría no existir. El cortocircuito de null permite configurarla solo cuando está presente, en una única línea limpia. 🛡️
settings?..theme = dark
..save();No repita el signo
Escribir el signo de interrogación en cada línea es incorrecto y Dart lo señala. La decisión de aplicar el cortocircuito se toma una sola vez, justo al principio de la cadena.
Combina bien con null safety
El cortocircuito de null encaja con la propuesta de null safety de Dart. El compilador confía en que las líneas posteriores al primer punto solo se ejecutan sobre un objeto real y presente.
Cuándo utilizarlo
Utilice el cortocircuito de null cuando una variable sea nullable y quiera configurarla sin añadir una comprobación de if-null alrededor de la cascada.
Comprobación rápida
¿Cómo se escribe correctamente una cascada con cortocircuito de null?
Resumen
La cascada con cortocircuito de null (?..) ejecuta toda la cadena solo cuando existe el objeto, omite todo cuando es null y necesita el signo una sola vez. 🎯
Preguntas frecuentes
¿La lección «Cascadas con null (?..)» es gratis?
Sí — el texto completo de «Cascadas con null (?..)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Cascadas con null (?..)»?
Usar cascadas de forma segura sobre objetos anulables. Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Dart Academy?
No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Cascadas con null (?..)»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Dart Academy?
Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El operador cascada (..)
- Cascadas con null (?..)
- Spread y spread consciente de null
- if y for en colecciones