Вот 10 полезных секретов JavaScript, которые могут улучшить производительность кода и упростить работу:

  1. Деструктуризация объектов и массивов
    Позволяет легко извлекать данные из объектов и массивов:
    
    const user = { name: "Alice", age: 25 }; 
    const { name, age } = user;   
  2. Шаблонные строки (template literals)
    Помогают писать многострочные строки и вставлять выражения внутри строк:
    
    const name = "Alice"; 
    const greeting = `Hello, ${name}!`;   
  3. Оператор нулевого слияния (??)
    Возвращает правый операнд, если левый null или undefined:
    
    const name = null; 
    const userName = name ?? "Guest";   
  4. Опциональная цепочка (Optional Chaining)
    Позволяет безопасно обращаться к вложенным свойствам, избегая ошибок, если свойство отсутствует:
    
    const user = { profile: null }; 
    const city = user.profile?.address?.city ?? "Unknown";   
  5. Стрелочные функции (Arrow functions)
    Удобный синтаксис для определения функций, особенно полезен в колбэках:
    
    const sum = (a, b) => a + b;   
  6. Spread оператор (...)
    Позволяет разворачивать массивы и объекты:
    
    const arr1 = [1, 2, 3]; 
    const arr2 = [...arr1, 4, 5]; // [1, 2, 3, 4, 5]  
    
    const obj1 = { name: "Alice" }; 
    const obj2 = { ...obj1, age: 25 }; // { name: "Alice", age: 25 }   
  7. Оператор сокращённого логического присваивания (&&=, ||=, ??=)
    Позволяет сократить выражения присваивания:
    
    let isActive = true;
    isActive &&= false; // isActive теперь false  
    
    let name = null; 
    name ||= "Guest"; // name теперь "Guest"
  8. Map и Set для коллекций
    Map для хранения ключ-значение, Set для уникальных значений:
    
    const map = new Map();
    map.set("name", "Alice");  
    const set = new Set([1, 2, 3, 3]);
  9. Преобразование в Boolean через !!
    Простой способ приведения значения к логическому типу:
    
    const isLoggedIn = !!user;   
  10. Замыкания (Closures)
    Функции могут запоминать контекст своего создания:

function counter() {
  let count = 0;
  return () => count++;
}
const increment = counter();
increment(); // 1
increment(); // 2

Эти приёмы помогут вам сделать код более чистым, эффективным и удобным для работы.