В этой статье мы рассмотрим, как предотвратить ошибки при попытке доступа к данным, которые могут быть неопределенными или нулевыми, а также рассмотрим методы, которые вы можете используйте для эффективного управления данными, когда это необходимо.
В JavaScript при попытке доступа к значению или функции внутри вложенных объектов, если результатом является неопределенный, ваш код может выдать ошибку. Эта ошибка может остановить выполнение вашего кода. Однако если вы используете необязательный оператор цепочки, он вернет неопределенное значение вместо выдачи ошибки, если значение или функция не существует. Это предотвращает сбой вашего кода.
Пример :
const person = { name: 'John', address: { city: 'New York' } }; console.log(person.address?.city); // 'New York' console.log(person.address?.country); // undefined, no error
Если значение переменной равно null или undefined, Чтобы избежать этого, вы можете использовать нулевой оператор объединения
Пример :
function getconfig(config) { return config ?? { timeout: 1000, retries: 3 }; } let userConfig = null; let finalConfig = getConfig(userConfig); // { timeout: 1000, retries: 3 } console.log(finalConfig);
Удаление дубликатов с помощью Set :
Для массива с повторяющимися значениями вы можете удалить повторяющееся значение, используя set
Пример :
const letter= ["a", "b", "c" , "c" , "a" , "d" ,"d" ,]; const result= [...new Set(letter)]; console.log(result) => ["a", "b" , "c" , "d"]
Предотвращение дублирования с помощью WeakSet :
Поскольку WeakSet содержит ссылки на объекты, объект можно добавить в WeakSet только один раз.
Пример :
// 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
В этой статье мы рассмотрели некоторые важные концепции, которые могут помочь предотвратить ошибки при доступе к значениям, которые могут быть неопределенными или нулевыми, а также методы более эффективного управления данными при необходимости. .
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3