Seguridad Básica ante Null
Parte de la sección Fundamentos del Journey de Dart de Coddy — lección 14 de 94.
Seguridad de nulos ayuda a prevenir fallos inesperados en la aplicación al controlar qué variables pueden estar vacías (null).
Por defecto, las variables deben contener un valor:
void main() {
String name = 'Dart';
print(name); // Salida: Dart
// Esto causaría problemas:
// name = null; // No permitido
}Agrega ? después del tipo para permitir valores nulos:
void main() {
String? name = 'Dart';
print(name); // Salida: Dart
// Ahora podemos asignar null
name = null;
print(name); // Salida: null
}Puedes declarar variables anulables de cualquier tipo:
void main() {
int? age; // Sin valor inicial, por defecto null
double? price = 19.99;
bool? isAvailable = true;
print(age); // Salida: null
print(price); // Salida: 19.99
print(isAvailable); // Salida: true
// Podemos cambiar cualquiera de estos a null
price = null;
isAvailable = null;
}
La seguridad ante valores nulos ayuda a proteger tu aplicación de fallos inesperados que ocurren cuando tu código intenta usar valores nulos en operaciones.
Desafío
PrincipianteCrea un programa en Dart que demuestre la seguridad básica de nulos usando el operador ?:
- Declara una variable String nombrada
usernamey configúrala anullusando el operador de seguridad de nulos?(String?) - Declara una variable int nombrada
userAgey configúrala anullusando el operador de seguridad de nulos - Imprime ambas variables con etiquetas en el EXACTO siguiente formato:
Username: null
User age: nullEntonces:
- Asigna el valor
"DartLearner"a la variableusername - Asigna el valor
25a la variableuserAge - Imprime ambas variables nuevamente con el EXACTO mismo formato que antes
Tu salida debe coincidir con el formato exacto mostrado arriba.
Hoja de referencia
Por defecto, las variables de Dart no pueden ser nulas. Agrega ? después del tipo para permitir valores nulos:
// Non-nullable (default)
String name = 'Dart';
// Nullable with ?
String? name = 'Dart';
name = null; // Now allowedPuedes declarar variables que pueden ser nulas de cualquier tipo:
int? age; // Defaults to null
double? price = 19.99;
bool? isAvailable = true;
// All can be set to null
price = null;
isAvailable = null;Pruébalo tú mismo
void main() {
// Declara tus variables nullable aquí
String? username = ?;
int? userAge = ?;
// Imprime los valores iniciales con etiquetas
print("Username: " + username.toString());
print("User age: " + userAge.toString());
// Asigna nuevos valores a las variables
username = ?;
userAge = ?;
// Imprime los valores actualizados con las mismas etiquetas
print("Username: " + username.toString());
print("User age: " + userAge.toString());
}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