<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[10 приемов JavaScript для эффективного программирования]]></title><description><![CDATA[<h2>1. Объект Intl</h2>
<p dir="auto">Объект Intl позволяет форматировать числа, даты и валюту с учетом разных локалей и параметров.</p>
<p dir="auto">Он предоставляется с множеством свойств, которые обеспечивают быстрое и безупречное форматирование данных.</p>
<p dir="auto">Рассмотрим пример форматирования валюты:</p>
<pre><code class="language-js">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
</code></pre>
<h2>2. Оператор ??</h2>
<p dir="auto">Оператор ?? присваивает переменной значение по умолчанию, если она null или undefined.</p>
<p dir="auto">Используйте данный оператор, если сомневаетесь в существовании у объекта того или иного свойства. Если свойство отсутствует, переменной присваивается значение по умолчанию.</p>
<p dir="auto">Пример:</p>
<pre><code class="language-js">let user = {}

let name = user.name ?? "Anonymous"

console.log(name)
// "Anonymous"
</code></pre>
<h2>3. Object.fromEntries()</h2>
<p dir="auto">Метод Object.fromEntries() преобразует массив пар “ключ-значение” в объект.</p>
<p dir="auto">Возьмем следующий массив и создадим из него объект, как показано ниже:</p>
<pre><code class="language-js">let arr = &lsqb;&lsqb;"name", "Alice"], ["age", 25&rsqb;&rsqb;

let obj = Object.fromEntries(arr);

console.log(obj)
// {name: "Alice", age: 25}
</code></pre>
<h2>4. Array.flat()</h2>
<p dir="auto">Метод Array.flat() преобразует вложенный массив в один единственный.</p>
<p dir="auto">Поскольку вложенными массивами сложно управлять, то данный метод помогает уменьшать их вложенность.</p>
<p dir="auto">Пример:</p>
<pre><code class="language-js">let arr = [1, [2, [3, [4&rsqb;&rsqb;&rsqb;&rsqb;;

let flat = arr.flat(Infinity)

console.log(flat)
// [1, 2, 3, 4]
</code></pre>
<h2>5. Оператор ?</h2>
<p dir="auto">Оператор ?. обеспечивает доступ к свойствам объекта без проверки, является ли он null или undefined.</p>
<p dir="auto">Используйте его, когда не знаете, существует ли объект или нет.</p>
<p dir="auto">Пример:</p>
<pre><code class="language-js">let user = null

let age = user?.age

console.log(age)
// undefined
</code></pre>
<h2>6. Array.reduce()</h2>
<p dir="auto">Метод Array.reduce() применяет функцию к каждому элементу массива и суммирует результат в одно значение.</p>
<p dir="auto">Пример сложения всех чисел массива:</p>
<pre><code class="language-js">let arr = [1, 2, 3, 4, 5]

let sum = arr.reduce((a, b) =&gt; a + b)

console.log(sum)
// 15
</code></pre>
<h2>7. String.repeat()</h2>
<p dir="auto">Метод String.repeat() создает новую строку, повторяя заданную строку указанное количество раз.</p>
<p dir="auto">Пример:</p>
<pre><code class="language-js">let str = "js".repeat(10)

console.log(str)
// 'jsjsjsjsjsjsjsjsjsjs'
</code></pre>
<h2>8. Array.from()</h2>
<p dir="auto">Метод Array.from() создает новый массив из массивоподобного или итерируемого объекта.</p>
<p dir="auto">Пример:</p>
<pre><code class="language-js">let str = "Hello"

let arr = Array.from(str)

console.log(arr)
// ["H", "e", "l", "l", "o"]
</code></pre>
<h2>9. Math.hypot()</h2>
<p dir="auto">Метод Math.hypot() находит квадратный корень из суммы квадратов его аргументов.</p>
<p dir="auto">Так, сумма квадратов 3 и 4 равна 25, а квадратный корень из 25 равен 5. Следовательно, Math.hypot(3, 4) возвращает 5.</p>
<p dir="auto">Пример:</p>
<pre><code class="language-js">let hyp = Math.hypot(3, 4);

console.log(hyp)
// 5
</code></pre>
<h2>10. Object.assign()</h2>
<p dir="auto">Метод Object.assign() копирует значения всех перечисляемых собственных свойств из одного или нескольких исходных объектов в целевой объект.</p>
<p dir="auto">Пример:</p>
<pre><code class="language-js">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}
</code></pre>
]]></description><link>https://forum.exlends.ru/topic/48/10-priemov-javascript-dlya-effektivnogo-programmirovaniya</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 22:11:02 GMT</lastBuildDate><atom:link href="https://forum.exlends.ru/topic/48.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Jan 2025 12:34:25 GMT</pubDate><ttl>60</ttl></channel></rss>