Date.prototype[@@toPrimitive]
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
Especificação |
---|
ECMAScript (ECMA-262) The definition of 'Date.prototype.@@toPrimitive' in that specification. |
Compatibilidade de navegador
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.