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
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 Language Specification # sec-date.prototype-%symbol.toprimitive% |
Compatibilidade com navegadores
BCD tables only load in the browser