{"componentChunkName":"component---src-templates-post-js","path":"/javascript/trailing-commas-v-javascript-es-2017/","result":{"pageContext":{"slug":"trailing-commas-v-javascript-es-2017","content":"\n<p>Маленькая, но уж очень полезная статья о том, как использовать замыкающие запятые в JavaScript.</p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><em>Кто-то называет их просто&nbsp;</em><strong>Trailing Commas</strong><em>, без перевода. Кто-то говорит, что это&nbsp;</em><strong>висящие запятые</strong><em>,&nbsp;</em><strong>конечные запятые</strong><em>&nbsp;или&nbsp;</em><strong>последние запятые</strong><em>. Слышал даже, что её называют&nbsp;</em><strong>гуляющей запятой</strong><em>. Я же сторонник более подходящего варианта в техническом отношении, а именно за&nbsp;</em><strong>замыкающую запятую</strong><em>. Использование англоязычного варианта мне кажется неуместным в этом случае.</em></p></blockquote>\n\n\n\n<p class=\"author\"><em>Перевод статьи&nbsp;</em><a href=\"https://codeburst.io/learn-javascript-es-2017-trailing-commas-4534891f3f90\"><em>Learn JavaScript ES 2017 — Trailing Commas</em></a></p>\n\n\n\n<p>Вообще, некоторые замыкающие запятые можно было использовать, своеобразно конечно, ещё с самого зарождения JavaScript. Но эти совершенно новые и ниже вы узнаете буквально всё про них.</p>\n\n\n\n<h2 id=\"e19a\">Что такое замыкающая запятая и почему она полезна?</h2>\n\n\n\n<p id=\"39cd\">Предположим, что у вас есть список домашних дел и вы скорее всего разделяете эти самые дела запятыми:</p>\n\n\n\n<pre class=\"wp-block-code javascript\"><code>dishes, vacuum, tidy</code></pre>\n\n\n\n<p>Замыкающая запятая это просто запятая, которая идёт после последнего элемента в списке. Она необязательна, но в некоторых случаях использования в JS, мы можем её использовать:</p>\n\n\n\n<pre class=\"wp-block-code javascript\"><code>dishes, vacuum, tidy,</code></pre>\n\n\n\n<p id=\"2eff\">И знаете, есть несколько случаев, когда вам всё таки понадобится её использовать. Предположим, что вам надо программно добавлять элементы в массив:</p>\n\n\n\n<p id=\"4d21\">Без замыкающей запятой большинство значений может быть добавлено в массив, как&nbsp;<code>value + ','</code>. Но тут надо немного доработать логику в коде и убедиться в том, что последний элемент будет добавлен в массив без запятой в конце.</p>\n\n\n\n<p id=\"940b\">С замыкающей запятой, все элементы могут быть добавлены в массив, как&nbsp;<code>value + ','</code>.</p>\n\n\n\n<h2 id=\"71b1\"><strong>Массивы</strong></h2>\n\n\n\n<p id=\"4eb3\">С самого зарождения JavaScript, замыкающие запятые можно было использовать при создании массивов:</p>\n\n\n\n<pre class=\"wp-block-code javascript\"><code>// Оба варианта одинаковы:\nlet arr = &#91; 1, 2 ];\nlet arr = &#91; 1, 2 , ];\narr.length; // 2</code></pre>\n\n\n\n<h2 id=\"b722\"><strong>Объекты</strong></h2>\n\n\n\n<p id=\"d601\">Замыкающие запятые также вполне можно использовать и в объектах:</p>\n\n\n\n<pre class=\"wp-block-code javascript\"><code>// Оба варианта одинаковы:\nlet obj = { \n  a: 95, \n  b: 23\n};\nlet obj = { \n  a: 95, \n  b: 23,\n};</code></pre>\n\n\n\n<h2 id=\"f854\"><strong>Указание параметров и вызовы функции</strong></h2>\n\n\n\n<p id=\"1f00\">Начиная с ES 2017, замыкающие запятые можно использовать в указании параметров и вызовах функции:</p>\n\n\n\n<pre class=\"wp-block-code javascript\"><code>// Оба варианта одинаковы:\nfunction f(a,b) {}\nfunction f(a,b,) {}\n// Оба варианта одинаковы:\nf(1,2);\nf(1,2,);</code></pre>\n\n\n\n<p>Однако, если в аргументе для функции будет только замыкающая запятая, то вы получите синтаксическую ошибку:</p>\n\n\n\n<pre class=\"wp-block-code javascript\"><code>function f(,) {}; \n// SyntaxError: missing formal parameter\nf(,); \n// SyntaxError: expected expression, got ','</code></pre>\n\n\n\n<h2 id=\"6e41\"><strong>Rest параметры</strong></h2>\n\n\n\n<p id=\"9c83\">При использовании&nbsp;<code>rest</code>&nbsp;параметров нельзя применять замыкающие запятые, так как получите в ответ&nbsp;<code>SyntaxError</code>:</p>\n\n\n\n<pre class=\"wp-block-code javascript\"><code>function f(...a,) {};\n// SyntaxError: parameter after rest parameter\nlet &#91;a, ...b,] = &#91;1, 2, 3, 4, 5];\n// SyntaxError: rest element may not have a trailing comma</code></pre>\n\n\n\n<h2 id=\"5fe8\">JSON</h2>\n\n\n\n<p id=\"3563\">В JSON нельзя использовать замыкающие запятые. Попытаясь спарсить JSON с такой запятой, вы получите синтаксическую ошибку:</p>\n\n\n\n<pre class=\"wp-block-code javascript\"><code>JSON.parse('&#91;\"a\", \"b\",]');\n// SyntaxError JSON.parse: unexpected character</code></pre>\n\n\n\n<p></p>\n","type":"js","date":"2020-12-15T16:15:18.000Z","acf":{"seo_desc":"Статья о том, как использовать замыкающие запятые в JavaScript","keywords":"trailing commas, trailing commas JavaScript, замыкающие запятые JavaScript, ","pub_date":"2019-09-21","tags":"javascript, trailing-commas, es 2017"},"title":"Замыкающие запятые (Trailing Commas) в JavaScript ES 2017","id":"a2025c77-4589-5863-8d1d-845abc118856","excerpt":"<p>Маленькая, но уж очень полезная статья о том, как использовать замыкающие запятые в JavaScript.</p>\n","featured_media":{"source_url":"https://stasonmars.ru/wp/wp-content/uploads/2020/12/DglYtvO7Bn0-13.jpg"},"interesting":[{"title":"Как работать с localStorage в JavaScript","slug":"kak-rabotat-s-localstorage-v-javascript","type":"js"},{"title":"Самые необходимые строковые и числовые методы в JavaScript","slug":"samie-neobhodimie-strokovie-i-chislovie-metody-v-javascript","type":"js"},{"title":"5 советов как лучше писать условные конструкции в JavaScript","slug":"5-sovetov-kak-luchshe-pisat-uslovnie-konstrukcii-v-javascript","type":"js"}]}},"staticQueryHashes":["3576131997","63159454"]}