Spread y spread consciente de null
Insertar una colección dentro de otra.
Spread y spread consciente de null es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 3 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.
Combinar colecciones
A menudo querrá incluir todos los elementos de una lista en otra. El operador spread de Dart inserta una colección completa de una sola vez.
Conozca los tres puntos
El operador spread son tres puntos colocados delante de una colección dentro de un literal de lista, conjunto o mapa. Sus elementos se incorporan directamente.
var more = [4, 5];
var all = [1, 2, 3, ...more];Qué produce spread
Spread copia los elementos de origen en la colección nueva. El resultado es una lista nueva; la colección original permanece intacta.
Spread en cualquier posición
Puede colocar un spread al principio, en medio o al final, y combinar varios spreads con elementos normales en el mismo literal.
var x = [0, ...a, 9, ...b];El problema de null
Si la colección que expande es null, un spread normal provoca un error. Esto resulta arriesgado cuando el origen todavía podría no existir.
Spread con comprobación de null
Añada un signo de interrogación para utilizar el spread con comprobación de null, escrito con un signo de interrogación seguido de tres puntos. Un origen null simplemente no aporta nada.
var all = [1, 2, ...?maybeNull];Se omite, nunca falla
Con un spread con comprobación de null, una colección null simplemente se omite. Obtendrá el resto de los elementos sin ningún error en tiempo de ejecución.
Spread funciona con conjuntos
Spread no se limita a las listas. Dentro de un literal de set también incorpora los elementos, y los duplicados se descartan para mantener la unicidad del conjunto.
var s = {1, 2, ...other};Spread funciona con mapas
Puede expandir un map dentro de otro para combinar sus entradas. Las claves posteriores prevalecen, por lo que un spread puede sobrescribir ordenadamente valores anteriores.
var m = {'a': 1, ...defaults};Spread frente a addAll
Spread crea una colección nueva dentro de un literal, mientras que addAll modifica una colección existente. Utilice spread cuando quiera obtener un resultado nuevo.
Por qué se lee bien
Spread hace visible su intención: puede ver exactamente qué partes forman la colección nueva, todo en un único literal ordenado. 📦
Comprobación rápida
¿Qué ocurre con un spread con comprobación de null aplicado a una colección null?
Resumen
El spread (...) inserta una colección en un literal, y el spread con comprobación de null (...?) omite de forma segura un origen null. Funciona con listas, conjuntos y mapas. 🎯
Preguntas frecuentes
¿La lección «Spread y spread consciente de null» es gratis?
Sí — el texto completo de «Spread y spread consciente de 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 «Spread y spread consciente de null»?
Insertar una colección dentro de otra. 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 3 de 4.
¿Cuánto tiempo toma la lección «Spread y spread consciente de 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