blob: d5e3b4443a0a5150f704f7784552af917ee3966d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
---
title: Symbol (Символ)
slug: Glossary/Symbol
translation_of: Glossary/Symbol
original_slug: Словарь/Symbol
---
<p>На этой странице описывается тип данных «символ» и функция «{{jsxref("Symbol")}}<code>()</code>», которая (среди прочего) создаёт экземпляры типа «символ».</p>
<p><strong>Symbol</strong><strong> </strong>(Символ) — примитивный тип данных, экземпляры которого уникальны и неизменяемы. В некоторых языках программирования символы также называются атомами.</p>
<p>В среде выполнения JavaScript значение «символа» создаётся путём вызова функции Symbol (), которая динамически создаёт анонимное и уникальное значение. Единственное разумное использование — сохранить символ, а затем использовать сохранённое значение для создания свойства объекта. Следующий пример хранит символ в «var».</p>
<pre class="brush: js">var myPrivateMethod = Symbol();
this[myPrivateMethod] = function() {...};</pre>
<p>Когда символ используется как идентификатор в присваивании свойства, свойство (например, символ) является анонимным; а также не исчислимым. Поскольку свойство не исчислимо, оно не будет отображаться в цикле «for (... in ...)», и поскольку свойство является анонимным, оно не будет отображаться в массиве результатов "Object.getOwnPropertyNames ()". Доступ к этому свойству можно получить с помощью исходного значения символа, создавшего его, или путём итерирования в массиве результатов «Object.getOwnPropertySymbols ()». В предыдущем примере кода доступ к свойству будет осуществляться через значение, которое было сохранено в переменной myPrivateMethod.</p>
<h2 id="Узнать_больше">Узнать больше</h2>
<h3 id="Общие_сведения">Общие сведения</h3>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Symbol_%28programming%29">Symbol on Wikipedia</a></li>
<li><a href="/ru/docs/Web/JavaScript/Data_structures">Типы и структуры данных в JavaScript</a></li>
</ul>
|