1. Используйте деструктуризацию для замены переменных
let a = 1, b = 2; [a, b] = [b, a]; console.log(a, b); // 2 1
Почему: обеспечивает простой однострочный способ замены значений переменных без временной переменной.
2. Используйте литералы шаблона для интерполяции строк
const name = "Alice"; console.log(`Hello, ${name}!`); // Hello, Alice!
Почему: делает конкатенацию строк более читабельной и менее подверженной ошибкам, чем традиционные методы.
3. Используйте нулевой оператор объединения (??) для значений по умолчанию
const value = null; const defaultValue = value ?? "Default"; console.log(defaultValue); // "Default"
Почему: обеспечивает краткий способ обработки нулевых или неопределенных значений, отличающий их от ложных значений, таких как 0 или пустая строка.
4. Используйте необязательную цепочку (?.) для безопасного доступа к собственности
const obj = { nested: { property: "value" } }; console.log(obj?.nested?.property); // "value" console.log(obj?.nonexistent?.property); // undefined
Почему: предотвращает ошибки при доступе к вложенным свойствам, которые могут не существовать, что снижает необходимость в подробных проверках.
5. Используйте оператор распространения (...) для манипуляций с массивом
const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const combined = [...arr1, ...arr2]; console.log(combined); // [1, 2, 3, 4, 5, 6]
Почему: упрощает операции с массивами, такие как объединение, копирование или добавление элементов, делая код более кратким и читабельным.
6. Используйте Array.from() для создания массивов из объектов, подобных массивам
const arrayLike = { 0: "a", 1: "b", 2: "c", length: 3 }; const newArray = Array.from(arrayLike); console.log(newArray); // ["a", "b", "c"]
Почему: легко преобразует объекты или итерации, подобные массивам, в настоящие массивы, позволяя использовать методы массива.
7. Используйте Object.entries() для удобной итерации объекта
const obj = { a: 1, b: 2, c: 3 }; for (const [key, value] of Object.entries(obj)) { console.log(`${key}: ${value}`); }
Почему: обеспечивает простой способ одновременного перебора ключей и значений объекта.
8. Используйте Array.prototype.flat() для выравнивания вложенных массивов
const nestedArray = [1, [2, 3, [4, 5]]]; console.log(nestedArray.flat(2)); // [1, 2, 3, 4, 5]
Почему: упрощает работу с вложенными массивами, выравнивая их до заданной глубины.
9. Используйте async/await для более чистого асинхронного кода
async function fetchData() { try { const response = await fetch('https://api.example.com/data'); const data = await response.json(); console.log(data); } catch (error) { console.error('Error:', error); } }
Почему: делает асинхронный код более похожим на синхронный код, улучшая читаемость и обработку ошибок.
10. Используйте Set для уникальных значений в массиве
const numbers = [1, 2, 2, 3, 4, 4, 5]; const uniqueNumbers = [...new Set(numbers)]; console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
Почему: обеспечивает эффективный способ удаления дубликатов из массива без ручного цикла.
11. Используйте Object.freeze() для создания неизменяемых объектов
const frozenObj = Object.freeze({ prop: 42 }); frozenObj.prop = 100; // Fails silently in non-strict mode console.log(frozenObj.prop); // 42
Почему: предотвращает изменение объекта, что полезно для создания констант или обеспечения целостности данных.
12. Используйте Array.prototype.reduce() для мощных преобразований массивов
const numbers = [1, 2, 3, 4, 5]; const sum = numbers.reduce((acc, curr) => acc curr, 0); console.log(sum); // 15
Почему: позволяет выполнять сложные операции с массивами за один проход, что зачастую более эффективно, чем циклы.
13. Используйте логический оператор И (&&) для условного выполнения
const isTrue = true; isTrue && console.log("This will be logged");
Почему: обеспечивает короткий способ выполнения кода, только если условие истинно, без явного оператора if.
14. Используйте Object.assign() для объединения объектов
const obj1 = { a: 1, b: 2 }; const obj2 = { b: 3, c: 4 }; const merged = Object.assign({}, obj1, obj2); console.log(merged); // { a: 1, b: 3, c: 4 }
Почему: упрощает слияние объектов, полезно для объединения объектов конфигурации или создания копий объектов с переопределениями.
15. Используйте Array.prototype.some() и Array.prototype.every() для массива
checking const numbers = [1, 2, 3, 4, 5]; console.log(numbers.some(n => n > 3)); // true console.log(numbers.every(n => n > 0)); // true
Почему: предоставляет краткие способы проверки того, соответствуют ли какие-либо или все элементы массива условию, избегая явных циклов.
16. Используйте console.table() для лучшей регистрации табличных данных
const users = [ { name: "John", age: 30 }, { name: "Jane", age: 28 }, ]; console.table(users);
Почему: улучшает читаемость зарегистрированных данных в табличном формате, что особенно полезно для массивов объектов.
17. Используйте Array.prototype.find(), чтобы получить первый соответствующий элемент
const numbers = [1, 2, 3, 4, 5]; const found = numbers.find(n => n > 3); console.log(found); // 4
Почему: эффективно находит первый элемент в массиве, который удовлетворяет условию, останавливая итерацию после его обнаружения.
18. Используйте Object.keys(), Object.values() и Object.entries() для объекта
manipulation const obj = { a: 1, b: 2, c: 3 }; console.log(Object.keys(obj)); // ["a", "b", "c"] console.log(Object.values(obj)); // [1, 2, 3] console.log(Object.entries(obj)); // [["a", 1], ["b", 2], ["c", 3]]
Почему: предоставляет простые способы извлечения свойств и значений объектов и работы с ними, что полезно для многих операций с объектами.
19. Используйте международный API для интернационализации
const number = 123456.789; console.log(new Intl.NumberFormat('de-DE').format(number)); // 123.456,789
Почему: упрощает форматирование чисел, дат и строк в соответствии с правилами, специфичными для локали, без ручной реализации.
20. Используйте Array.prototype.flatMap() для сопоставления и выравнивания за один шаг
const sentences = ["Hello world", "How are you"]; const words = sentences.flatMap(sentence => sentence.split(" ")); console.log(words); // ["Hello", "world", "How", "are", "you"]
Почему: эффективно сочетает операции сопоставления и сведения, что полезно для преобразований, дающих вложенные результаты.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3