10 приемов JavaScript для эффективного программирования
-
1. Объект Intl
Объект Intl позволяет форматировать числа, даты и валюту с учетом разных локалей и параметров.
Он предоставляется с множеством свойств, которые обеспечивают быстрое и безупречное форматирование данных.
Рассмотрим пример форматирования валюты:
let num = 100; let RupeeFormatter = new Intl.NumberFormat("en-IN", {style: "currency", currency: "INR"}) let RupeeFormatted = RupeeFormatter.format(num); console.log(RupeeFormatted) // ₹100 let USDFormatter = new Intl.NumberFormat("en-IN", {style: "currency", currency: "USD"}) let USDFormatted = USDFormatter.format(num) console.log(USDFormatted) // $100
2. Оператор ??
Оператор ?? присваивает переменной значение по умолчанию, если она null или undefined.
Используйте данный оператор, если сомневаетесь в существовании у объекта того или иного свойства. Если свойство отсутствует, переменной присваивается значение по умолчанию.
Пример:
let user = {} let name = user.name ?? "Anonymous" console.log(name) // "Anonymous"
3. Object.fromEntries()
Метод Object.fromEntries() преобразует массив пар “ключ-значение” в объект.
Возьмем следующий массив и создадим из него объект, как показано ниже:
let arr = [["name", "Alice"], ["age", 25]] let obj = Object.fromEntries(arr); console.log(obj) // {name: "Alice", age: 25}
4. Array.flat()
Метод Array.flat() преобразует вложенный массив в один единственный.
Поскольку вложенными массивами сложно управлять, то данный метод помогает уменьшать их вложенность.
Пример:
let arr = [1, [2, [3, [4]]]]; let flat = arr.flat(Infinity) console.log(flat) // [1, 2, 3, 4]
5. Оператор ?
Оператор ?. обеспечивает доступ к свойствам объекта без проверки, является ли он null или undefined.
Используйте его, когда не знаете, существует ли объект или нет.
Пример:
let user = null let age = user?.age console.log(age) // undefined
6. Array.reduce()
Метод Array.reduce() применяет функцию к каждому элементу массива и суммирует результат в одно значение.
Пример сложения всех чисел массива:
let arr = [1, 2, 3, 4, 5] let sum = arr.reduce((a, b) => a + b) console.log(sum) // 15
7. String.repeat()
Метод String.repeat() создает новую строку, повторяя заданную строку указанное количество раз.
Пример:
let str = "js".repeat(10) console.log(str) // 'jsjsjsjsjsjsjsjsjsjs'
8. Array.from()
Метод Array.from() создает новый массив из массивоподобного или итерируемого объекта.
Пример:
let str = "Hello" let arr = Array.from(str) console.log(arr) // ["H", "e", "l", "l", "o"]
9. Math.hypot()
Метод Math.hypot() находит квадратный корень из суммы квадратов его аргументов.
Так, сумма квадратов 3 и 4 равна 25, а квадратный корень из 25 равен 5. Следовательно, Math.hypot(3, 4) возвращает 5.
Пример:
let hyp = Math.hypot(3, 4); console.log(hyp) // 5
10. Object.assign()
Метод Object.assign() копирует значения всех перечисляемых собственных свойств из одного или нескольких исходных объектов в целевой объект.
Пример:
let obj1 = {a: 1, b: 2}; let obj2 = {c: 3, d: 4}; let obj3 = Object.assign(obj1, obj2) console.log(obj3) // {a: 1, b: 2, c: 3, d: 4}