Operador de Afirmación Null
Parte de la sección Fundamentos del Journey de Dart de Coddy — lección 80 de 94.
El operador de aserción null (!) le indica a Dart que una variable nullable definitivamente no es null en ese punto del código. Obliga a Dart a tratar un tipo nullable como no nullable.
Crear una variable de cadena nullable:
String? name = 'Dart';
Usa el operador de aserción no nula para tratarlo como no anulable:
String nonNullableName = name!;
print(nonNullableName);
Después de ejecutar el código anterior, la salida será:
Dart¡Ten cuidado! Si la variable es realmente null, tu programa se estrellará:
String? language = null;
// String nonNullable = language!; // This would crash at runtime
Desafío
PrincipianteEn este desafío, practicarás el uso del Operador de Afirmación de No Nulo (!) en Dart. Este operador le indica a Dart que una variable nullable definitivamente no es nula en un punto específico de tu código.
Completa el código a continuación para usar el operador de afirmación de no nulo y convertir la variable nullable username en una cadena no nullable que se pueda asignar a displayName.
Salida esperada:
Welcome, DartLearner!Hoja de referencia
El operador de afirmación de no nulo (!) le indica a Dart que una variable nullable definitivamente no es null en ese punto del código. Obliga a Dart a tratar un tipo nullable como no nullable.
String? name = 'Dart';
String nonNullableName = name!;
print(nonNullableName); // Output: Dart
Advertencia: Si la variable es realmente null, el programa fallará en tiempo de ejecución:
String? language = null;
// String nonNullable = language!; // This would crash
Pruébalo tú mismo
void main() {
// Esta variable String nullable ya tiene un valor no nulo
String? username = 'DartLearner';
// TODO: Usa el operador de aserción no nula (!) para convertir username
// de un String nullable a un String no nullable
// para que pueda asignarse a displayName
String displayName;
// Esto mostrará el mensaje de bienvenida
print('Welcome, $displayName!');
}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