isso realmente soa como uma pergunta simples, mas não tive sorte em pesquisar. o que faz o +d
em
function addMonths(d, n, keepTime) {
if (+d) {
significa?
javascript
goh
fonte
fonte
+…
significa em JavaScriptRespostas:
O
+
operador retorna a representação numérica do objeto. Portanto, no seu caso em particular, parece indicar sed
é um número diferente de zero.Referência aqui . E, como apontado nos comentários, aqui .
fonte
.parseInt()
?É um operador "+" unário que gera uma expressão numérica. Seria o mesmo que
d*1
, acredito.fonte
Conforme explicado em outras respostas, ele converte a variável em um número. Especialmente útil quando d pode ser um número ou uma sequência
funçãoque avalia para um número.Exemplo (usando a
addMonths
função na pergunta):então o
+d
será avaliado para um número em todos os casos. Evitando, assim, a necessidade de verificar o tipo e seguir caminhos de código diferentes, dependendo sed
é um número, uma função ou uma sequência que pode ser convertida em um número.fonte
+d
não irá avaliar para um número com o primeiro exemplo invocação de AddMonths+function(){...}
irá produzir umNaN
não avaliar a função