aboutsummaryrefslogtreecommitdiff
path: root/files/ru/glossary/symbol/index.html
blob: daa0202fd5d560d2063814c5931e9814ab89556c (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
---
title: Symbol (Символ)
slug: Словарь/Symbol
translation_of: Glossary/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>