diff options
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.html')
-rw-r--r-- | files/uk/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.html | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.html b/files/uk/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.html deleted file mode 100644 index 2c6541ad4d..0000000000 --- a/files/uk/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.html +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: Symbol.isConcatSpreadable -slug: Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable -tags: - - ECMAScript 2015 - - JavaScript - - Symbol - - Властивість - - Символ -translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable ---- -<div>{{JSRef}}</div> - -<p>Добревідомий символ <strong><code>Symbol.isConcatSpreadable</code></strong> використовують, щоб налаштувати вирівнювання об'єкта до масиву його елементів при використанні методу {{jsxref("Array.prototype.concat()")}}.</p> - -<div>{{EmbedInteractiveExample("pages/js/symbol-isconcatspreadable.html")}}</div> - - - -<h2 id="Опис">Опис</h2> - -<p>Символ <code>@@isConcatSpreadable</code> (<code>Symbol.isConcatSpreadable</code>) може бути визначений як особиста чи успадкована властивість, а його значення є булевою величиною. Він може контролювати поведінку масивів та подібних до масивів об'єктів:</p> - -<ul> - <li>Для масивів поведінкою за замовчуванням є розкладання (вирівнювання) елементів. <code>Symbol.isConcatSpreadable</code> може запобігти вирівнюванню у цих випадках.</li> - <li>Подібні до масивів об'єкти за замовчуванням не виконують розкладання чи вирівнювання. <code>Symbol.isConcatSpreadable</code> може виконати примусове вирівнювання у цих випадках.</li> -</ul> - -<p>{{js_property_attributes(0,0,0)}}</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Масиви">Масиви</h3> - -<p>За замовчуванням {{jsxref("Array.prototype.concat()")}} розкладає (вирівнює) масиви:</p> - -<pre class="brush: js notranslate">let alpha = ['а', 'б', 'в'], -let numeric = [1, 2, 3] - -let alphaNumeric = alpha.concat(numeric) - -console.log(alphaNumeric) // Результат: ['а', 'б', 'в', 1, 2, 3] -</pre> - -<p>Присвоївши <code>Symbol.isConcatSpreadable</code> значення <code>false</code>, ви можете відключити цю поведінку:</p> - -<pre class="brush: js notranslate">let alpha = ['а', 'б', 'в'], -let numeric = [1, 2, 3] - -numeric[Symbol.isConcatSpreadable] = false -let alphaNumeric = alpha.concat(numeric) - -console.log(alphaNumeric) // Результат: ['а', 'б', 'в', [1, 2, 3] ] -</pre> - -<h3 id="Подібні_до_масивів_обєкти">Подібні до масивів об'єкти</h3> - -<p>Подібні до масивів об'єкти за замовчуванням не розкладаються. <code>Symbol.isConcatSpreadable</code> необхідно присвоїти <code>true</code>, щоб отримати вирівняний масив:</p> - -<pre class="brush: js notranslate">let x = [1, 2, 3] - -let fakeArray = { - [Symbol.isConcatSpreadable]: true, - length: 2, - 0: 'всім', - 1: 'привіт' -} - -x.concat(fakeArray) // [1, 2, 3, "всім", "привіт"] -</pre> - -<div class="blockIndicator note"> -<p><strong>Заувага:</strong> Властивість <code>length</code> використовується, щоб контролювати кількість властивостей об'єкта, що будуть додані. У наведеному вище прикладі <code>length:2</code> вказує, що треба додати дві властивості.</p> -</div> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-symbol.isconcatspreadable', 'Symbol.isconcatspreadable')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - - - -<p>{{Compat("javascript.builtins.Symbol.isConcatSpreadable")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Array.prototype.concat()")}}</li> -</ul> |