это действительно звучит как простой вопрос, но мне не повезло в поисках. что +d
в
function addMonths(d, n, keepTime) {
if (+d) {
средства?
javascript
Гох
источник
источник
+…
означает в JavaScriptОтветы:
+
Оператор возвращает числовое представление объекта. Таким образом, в вашем конкретном случае, это, казалось бы, предопределяет, является лиd
ненулевое число или нет .Ссылка здесь . И, как указано в комментариях, здесь .
источник
.parseInt()
?Это унарный оператор «+», который выдает числовое выражение. Это было бы так же, как
d*1
я считаю.источник
Как объяснено в других ответах, он преобразует переменную в число. Особенно полезно, когда d может быть числом или строкой
функциячто оценивается в число.Пример (используя
addMonths
функцию в вопросе):тогда
+d
во всех случаях будет оцениваться число. Таким образом, избегая необходимости проверять тип и использовать различные пути кода в зависимости от того,d
является ли число, функция или строка, которые могут быть преобразованы в число.источник
+d
не будет оценивать число с первым примером вызова addMonths+function(){...}
выдастNaN
не оценивающую функцию