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