En este artículo, exploraremos cómo evitar errores al intentar acceder a datos que pueden ser indefinidos o nulos, y veremos métodos que puedes utilizar para administrar datos de manera eficaz cuando sea necesario.
En JavaScript, al intentar acceder a un valor o función dentro de objetos anidados, si el resultado es indefinido, su código puede generar un error. Este error puede detener la ejecución de su código. Sin embargo, si utiliza el operador de encadenamiento opcional, devolverá indefinido en lugar de generar un error si el valor o la función no existe. Esto evita que tu código falle.
Ejemplo :
const person = { name: 'John', address: { city: 'New York' } }; console.log(person.address?.city); // 'New York' console.log(person.address?.country); // undefined, no error
Si el valor de una variable es nulo o indefinido, para evitar esto, puedes usar el operador coalescente nulo
Ejemplo :
function getconfig(config) { return config ?? { timeout: 1000, retries: 3 }; } let userConfig = null; let finalConfig = getConfig(userConfig); // { timeout: 1000, retries: 3 } console.log(finalConfig);
Eliminar duplicados con Set :
Para una matriz con valores duplicados, puede eliminar valor duplicado usando set
Ejemplo :
const letter= ["a", "b", "c" , "c" , "a" , "d" ,"d" ,]; const result= [...new Set(letter)]; console.log(result) => ["a", "b" , "c" , "d"]
Prevención de duplicados con WeakSet:
Dado que WeakSet contiene referencias a objetos, un objeto solo se puede agregar a un WeakSet una vez.
Ejemplo :
// Creating a WeakSet const weakset = new WeakSet(); // Defining objects const personJane = { name: 'jane' }; const personMike = { name: 'mike' }; // Adding objects to the WeakSet weakset.add(personJane); weakset.add(personMike); console.log(weakset.has(obj1)); // true console.log(weakset.has(obj2)); // true // Attempting to add the same object again weakset.add(obj1); // obj1 is already present, won't be added again console.log(weakset.has(obj1)); // true console.log(weakset.has(obj2)); // true // Removing an object from the WeakSet weakset.delete(obj1); console.log(weakset.has(obj1)); // false // Adding the object again weakset.add(obj1); console.log(weakset.has(obj1)); // true
En este artículo, exploramos algunos conceptos importantes que pueden ayudar a prevenir errores al acceder a valores que pueden ser indefinidos o nulos, así como métodos para administrar datos de manera más efectiva cuando sea necesario. .
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3