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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
---
title: 'Date.prototype[@@toPrimitive]'
slug: Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive
tags:
- Date
- JavaScript
- Довідка
- метод
translation_of: Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive
---
<div>{{JSRef}}</div>
<p>Метод <code><strong>[@@toPrimitive]()</strong></code> перетворює об'єкт <code>Date</code> на просте значення.</p>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox notranslate"><var>Date()[Symbol.toPrimitive](hint);
</var></pre>
<h3 id="Повертає">Повертає</h3>
<p>Просте значення наданого об'єкта {{jsxref("Date")}}. В залежності від аргументу, метод може повернути або рядок, або число.</p>
<h2 id="Опис">Опис</h2>
<p>Метод <code>[@@toPrimitive]()</code> об'єкта {{jsxref("Date")}} повертає просте значення, яке належить або до числового, або до рядкового типу.</p>
<p>Якщо <code>hint</code> дорівнює <code>"string"</code> або <code>"default"</code>, <code>[@@toPrimitive]()</code> намагається викликати метод {{jsxref("Object.prototype.toString()", "toString")}}. Якщо властивість <code>toString</code> не існує, він намагається викликати метод {{jsxref("Object.prototype.valueOf()", "valueOf")}}, а якщо <code>valueOf</code> також не існує, <code>[@@toPrimitive]()</code> викидає помилку {{jsxref("TypeError")}}.</p>
<p>Якщо <code>hint</code> дорівнює <code>"number"</code>, <code>[@@toPrimitive]()</code> спрочатку намагається викликати <code>valueOf</code>, а якщо не вдається, він викликає <code>toString</code>.</p>
<p>JavaScript викликає метод <code>[@@toPrimitive]()</code> для перетворення об'єкта на просте значення. Вам рідко знадобиться викликати метод <code>[@@toPrimitive]()</code> власноруч; JavaScript автоматично викликає його, коли зустрічає об'єкт там, де очікується просте значення.</p>
<h2 id="Приклади">Приклади</h2>
<h3 id="Повернення_простих_значень_дати">Повернення простих значень дати</h3>
<pre class="brush: js notranslate">const testDate = new Date(1590757517834);
// "Date Fri May 29 2020 14:05:17 GMT+0100 (British Summer Time)"
testDate[Symbol.toPrimitive]('string');
// Returns "Date Fri May 29 2020 14:05:17 GMT+0100 (British Summer Time)"
testDate[Symbol.toPrimitive]('number');
// Returns "1590757517834"
testDate[Symbol.toPrimitive]('default');
// Returns "Date Fri May 29 2020 14:05:17 GMT+0100 (British Summer Time)"</pre>
<h2 id="Специфікації">Специфікації</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Специфікація</th>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-date.prototype-@@toprimitive', 'Date.prototype.@@toPrimitive')}}</td>
</tr>
</tbody>
</table>
<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
<p>{{Compat("javascript.builtins.Date.@@toPrimitive")}}</p>
<h2 id="Див._також">Див. також</h2>
<ul>
<li>{{jsxref("Symbol.toPrimitive")}}</li>
</ul>
|