Operador null-aware
Parte de la sección Fundamentos del Journey de Dart de Coddy — lección 28 de 94.
El operador null-aware (??) devuelve la expresión de la izquierda si no es nula, de lo contrario devuelve la expresión de la derecha.
void main() {
String? name = 'Dart';
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
String? name = null;
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
int? score; // Sin valor inicial, por defecto null
int displayScore = score ?? 0;
print('Your score: $displayScore');
// Más adelante en el programa, score obtiene un valor
score = 100;
displayScore = score ?? 0;
print('Your updated score: $displayScore');
}Desafío
FácilCrea un programa que demuestre el operador null-aware (??) en Dart:
- Declara una variable String nullable nombrada
usernamey asígnala anull - Declara una variable int nullable nombrada
userAgey asígnala anull - Usa el operador null-aware para asignar un valor predeterminado de
"Guest"a una nueva variabledisplayNamesiusernamees null - Usa el operador null-aware para asignar un valor predeterminado de
18a una nueva variabledisplayAgesiuserAgees null - Imprime los valores con el EXACTO siguiente formato:
Username: Guest (default value used)
Age: 18 (default value used)Luego:
- Actualiza
usernamea"DartUser" - Actualiza
userAgea25 - Repite los pasos 3 y 4 con los valores actualizados
- Imprime los valores con el EXACTO siguiente formato:
Username: DartUser (original value used)
Age: 25 (original value used)Hoja de referencia
El operador de coalescencia nula (??) devuelve la expresión de la izquierda si no es null, de lo contrario devuelve la expresión de la derecha.
String? name = null;
String displayName = name ?? 'Guest'; // Returns 'Guest' since name is null
int? score = 100;
int displayScore = score ?? 0; // Returns 100 since score is not nullPruébalo tú mismo
void main() {
// Declarar variables que pueden ser nulas
String? username = _;
int? userAge = _;
// Usar el operador de coalescencia nula para valores por defecto
String displayName = username ?? _;
int displayAge = userAge ?? _;
// Imprimir valores iniciales
print("Username: $displayName (default value used)");
print("Age: $displayAge (default value used)");
// Actualizar variables
username = _;
userAge = _;
// Usar el operador de coalescencia nula nuevamente
displayName = username _ "Guest";
displayAge = userAge _ 18;
// Imprimir valores actualizados
print("Username: $displayName (original value used)");
print("Age: $displayAge (original value used)");
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores de ComparaciónAND LógicoOR LógicoNOT LógicoOperadores de Prueba de TipoResumen - Realizando Comparaciones7Trabajando con Cadenas
Concatenación de CadenasInterpolación de CadenasCadenas MultilíneaPropiedades de CadenasMétodos Básicos de Cadenas10Colecciones - Conceptos básicos de Mapas
¿Qué son los Mapas?Creando un MapaAccediendo a Valores por ClavePares Clave-ValorObteniendo el Tamaño del MapaObteniendo las ClavesObteniendo los ValoresVerificando si una Clave Existe13Null Safety en Profundidad
Comprendiendo NullTipos NullableTipos No NullableOperador de Afirmación NullInicialización TardíaResumen - Manejo Seguro de Null16Desafíos Fundamentales
Desafío: Lista de cálculosDesafío: Suma de númerosDesafío: Encontrar producto2Variables y Tipos de Datos Básicos
¿Qué son las Variables?CadenasEnteros (int)Dobles (double)Booleanos (bool)Inferencia de Tipos con 'var'Variables FinalesVariables ConstantesConvenciones de NombresSeguridad Básica ante NullResumen - Declarando Variables8Flujo de control - Bucles
El bucle 'for'El bucle 'while'El bucle 'do-while'Usando 'break' en buclesUsando 'continue' en buclesResumen - Código repetitivo3Operadores Parte 1
Operadores AritméticosDivisión EnteraOperador MóduloIncremento y DecrementoAtajos de AsignaciónResumen - Cálculos Simples6Flujo de Control - Toma de Decisiones
La sentencia 'if'La sentencia 'else'La sentencia 'else if'Resumen - Decisiones SimplesSentencias 'if' AnidadasLa sentencia 'switch'9Colecciones - Listas Básicas
¿Qué son las listas?Creando una listaAccediendo por índiceObteniendo la longitud de la listaAgregando elementosEliminando elementosComprobando si una lista está vacíaIterando sobre una lista12Funciones Avanzadas
Parámetros Posicionales OpcionalesParámetros NombradosParámetros Nombrados RequeridosValores de Parámetro por DefectoResumen - Parámetros de Función15Proyecto: Calculadora Simple
ConfigurandoDeclarando Número