Date.prototype[@@toPrimitive]

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

O método [@@toPrimitive]() converte o objeto Date para um valor primitivo.

Sintaxe

Date()[Symbol.toPrimitive](hint);

Valor de retorno

O valor primitivo do objeto Date. Dependendo do argumento, o método pode retornar uma cadeia de caracteres (string) ou um número.

Descrição

O método [@@toPrimitive]() do objeto Date retorna um valor primitivo, que pode ser tanto um tipo numérico quanto uma string.

Se hint é "string" ou "default", [@@toPrimitive]() tenta chamar o método toString. Se a propriedade toString não existe, ele tenta chamar o método valueOf e se o valueOf não existir, [@@toPrimitive]() joga um TypeError.

Se hint é "number", [@@toPrimitive]() tenta primeiro chamar valueOf, e se ele falha, chama toString.

O JavaScript chama o método [@@toPrimitive]() para converter um objeto para um valor primitivo. Você raramente precisa invocar o método [@@toPrimitive]() em si; JavaScript automaticamente o invoca quando encontra um objeto onde um valor primitivo é esperado.

Exemplos

Retornando primitivos de data

js
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)"

Especificações

Specification
ECMAScript® 2025 Language Specification
# sec-date.prototype-%symbol.toprimitive%

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
[Symbol.toPrimitive]

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Veja também