aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/object/tosource/index.html
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/web/javascript/reference/global_objects/object/tosource/index.html
parent074785cea106179cb3305637055ab0a009ca74f2 (diff)
downloadtranslated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip
initial commit
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/object/tosource/index.html')
-rw-r--r--files/uk/web/javascript/reference/global_objects/object/tosource/index.html132
1 files changed, 132 insertions, 0 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/object/tosource/index.html b/files/uk/web/javascript/reference/global_objects/object/tosource/index.html
new file mode 100644
index 0000000000..1de70827b6
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/object/tosource/index.html
@@ -0,0 +1,132 @@
+---
+title: Object.prototype.toSource()
+slug: Web/JavaScript/Reference/Global_Objects/Object/toSource
+tags:
+ - JavaScript
+ - Об'єкт
+ - застарілий
+ - метод
+ - нестандартний
+ - прототип
+translation_of: Web/JavaScript/Reference/Global_Objects/Object/toSource
+---
+<div>{{JSRef}} {{obsolete_header}}</div>
+
+<p>Метод <strong><code>toSource()</code></strong> повертає рядок, який відображає першокод об'єкта.</p>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code>Object.toSource();
+<var>obj</var>.toSource();
+</code></pre>
+
+<h3 id="Повертає">Повертає</h3>
+
+<p>Рядок, який відображає першокод об'єкта.</p>
+
+<h2 id="Опис">Опис</h2>
+
+<p>Метод <code>toSource()</code> повертає наступні значення:</p>
+
+<ul>
+ <li>Для вбудованого об'єкта {{jsxref("Object")}} <code>toSource()</code> повертає наступний рядок, який вказує, що першокод недоступний:
+
+ <pre class="brush: js notranslate">function Object() {
+ [native code]
+}
+</pre>
+ </li>
+ <li>Для екземплярів {{jsxref("Object")}} <code>toSource()</code> повертає рядок, який відображає першокод.</li>
+</ul>
+
+<p>Ви можете викликати <code>toSource()</code> під час налагодження для дослідження вмісту об'єкта.</p>
+
+<h3 id="Перезапис_методу_toSource">Перезапис методу <code>toSource()</code></h3>
+
+<p>Перезапис <code>toSource()</code> не несе ніякої шкоди об'єктам. Наприклад:</p>
+
+<pre class="brush: js notranslate">function Person(name) {
+ this.name = name;
+}
+
+Person.prototype.toSource = function Person_toSource() {
+ return 'new Person(' + uneval(this.name) + ')';
+};
+
+console.log(new Person('Джо').toSource()); // ---&gt; new Person("Джо")
+</pre>
+
+<h3 id="Вбудовані_методи_toSource">Вбудовані методи <code>toSource()</code></h3>
+
+<p>Кожен базовий тип JavaScript має свій власний метод <code>toSource()</code>. Ці об'єкти наступні:</p>
+
+<ul>
+ <li>{{jsxref("Array.prototype.toSource()")}} — об'єкт {{jsxref("Array")}}.</li>
+ <li>{{jsxref("Boolean.prototype.toSource()")}} — об'єкт {{jsxref("Boolean")}}.</li>
+ <li>{{jsxref("Date.prototype.toSource()")}} — об'єкт {{jsxref("Date")}}.</li>
+ <li>{{jsxref("Function.prototype.toSource()")}} — об'єкт {{jsxref("Function")}}.</li>
+ <li>{{jsxref("Number.prototype.toSource()")}} — об'єкт {{jsxref("Число","Number")}}.</li>
+ <li>{{jsxref("RegExp.prototype.toSource()")}} — об'єкт {{jsxref("RegExp")}}.</li>
+ <li>{{jsxref("String.prototype.toSource()")}} — об'єкт {{jsxref("String")}}.</li>
+ <li>{{jsxref("Symbol.prototype.toSource()")}} — об'єкт {{jsxref("Symbol")}}.</li>
+ <li><code>Math.toSource()</code> — Повертає рядок "Math".</li>
+</ul>
+
+<h3 id="Обмеження_для_циклічних_обєктів">Обмеження для циклічних об'єктів</h3>
+
+<p>У випадках, коли об'єкт містить посилання на самого себе, наприклад, циклічно зв'язаний список чи дерево, котре можна пройти обома шляхами, <code>toSource()</code> не відтворюватиме посилання на самого себе, починаючи з Firefox 24. Наприклад:</p>
+
+<pre class="brush: js notranslate">var obj1 = {};
+var obj2 = { a: obj1 };
+obj1.b = obj2;
+
+console.log('Циклічний: ' + (obj1.b.a == obj1));
+
+var objSource = obj1.toSource(); // повертає "({b:{a:{}}})"
+
+obj1 = eval(objSource);
+
+console.log('Циклічний: ' + (obj1.b.a == obj1));
+</pre>
+
+<p>Якщо застосовується циклічна структура, і потрібен метод <code>toSource()</code>, об'єкт має перезаписати <code>toSource()</code>, або використовуючи посилання на конструктор, або надавши анонімну функцію.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Використання_toSource">Використання <code>toSource()</code></h3>
+
+<p>Наступний код визначає тип об'єкта <code>Dog</code> і створює <code>theDog</code>, об'єкт типу <code>Dog</code>:</p>
+
+<pre class="brush: js notranslate">function Dog(name, breed, color, sex) {
+ this.name = name;
+ this.breed = breed;
+ this.color = color;
+ this.sex = sex;
+}
+
+theDog = new Dog('Галя', 'лабрадор', 'шоколадний', 'самиця');
+</pre>
+
+<p>Якщо викликати метод <code>toSource()</code> об'єкта <code>theDog</code>, він поверне першокод JavaScript, який визначає об'єкт:</p>
+
+<pre class="brush: js notranslate">theDog.toSource();
+// повертає ({name:"Галя", breed:"лабрадор", color:"шоколадний", sex:"самиця"})
+</pre>
+
+<h2 id="Специфікація">Специфікація</h2>
+
+<p>Не є частиною жодних стандартів.</p>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
+
+<div>
+
+
+<p>{{Compat("javascript.builtins.Object.toSource")}}</p>
+</div>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("Object.prototype.toString()")}}</li>
+</ul>