aboutsummaryrefslogtreecommitdiff
path: root/files/uk/glossary/object_reference
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
commit218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch)
treea9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/uk/glossary/object_reference
parent074785cea106179cb3305637055ab0a009ca74f2 (diff)
downloadtranslated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip
initial commit
Diffstat (limited to 'files/uk/glossary/object_reference')
-rw-r--r--files/uk/glossary/object_reference/index.html50
1 files changed, 50 insertions, 0 deletions
diff --git a/files/uk/glossary/object_reference/index.html b/files/uk/glossary/object_reference/index.html
new file mode 100644
index 0000000000..aaba46f1e6
--- /dev/null
+++ b/files/uk/glossary/object_reference/index.html
@@ -0,0 +1,50 @@
+---
+title: Посилання на об'єкт
+slug: Glossary/Object_reference
+tags:
+ - Посилання
+ - Словник
+translation_of: Glossary/Object_reference
+---
+<p><strong>Посилання на об'єкт</strong> (англ. object reference) — це певний <em>ключ</em>, призначений для опосередкованого доступу до об'єкта. Залежно від мови програмування то може бути адреса об'єкта в пам'яті, чи будь-який неповторний ключ (рядок або число) в асоціативному масиві абощо.</p>
+
+<p>В таких мовах програмування, як C/C++, розрізняють три різновиди змінних: вказівник (англ. pointer), посилання (англ. reference) та, власне, значення. Це рівною мірою стосується як {{Glossary("Primitive", "простих типів даних")}}, так і {{Glossary("object", "об'єктів")}}. Натомість в Java, JavaScript та багатьох інших мовах розрізняють лише значення (за значенням зберігаються та передаються лише прості величини) та посилання (об'єкти завжди передаються та зберігаються за посиланням).</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<p>Збагнути різницю між значенням та посиланням легко з порівняння двох прикладів.</p>
+
+<p>Пості величини завжди зберігаються як значення, а тому копіювання означає створення незалежної копії самого значення:</p>
+
+<pre class="brush: js">var origin = 5;
+var clone = origin;
+
+console.log(origin); // виводить 5
+console.log(clone); // виводить 5
+
+origin++;
+
+console.log(origin); // виводить 6
+console.log(clone); // виводить 5</pre>
+
+<p>Втім змінна ніколи не зберігає сам об'єкт, а лише посилання на нього. Звідси випливає те, що копіювання змінної, що посилається на об'єкт, створює не копію об'єкта, а копію посилання, а отже обидві змінні посилаються на одне й те саме:</p>
+
+<pre class="brush: js">var origin = {x: 5};
+var clone = origin;
+
+console.log(origin.x); // виводить 5
+console.log(clone.x); // виводить 5
+
+origin.x++;
+
+console.log(origin.x); // виводить 6
+console.log(clone.x); // виводить 6
+</pre>
+
+<h2 id="Дізнатись_більше">Дізнатись більше</h2>
+
+<h3 id="Загальні_відомості">Загальні відомості</h3>
+
+<ul>
+ <li>{{Interwiki("wikipedia", "Посилання_(програмування)", "Посилання")}} у Вікіпедії</li>
+</ul>