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 abril de 2017.
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
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® 2026 Language Specification> # sec-date.prototype-%symbol.toprimitive%> |
Compatibilidade com navegadores
Loading…