Подтвердить что ты не робот

Как проверить, является ли переменная объектом Moment.js?

Мое приложение имеет форму HTML с некоторыми входами, заполненными из бэкэнд и другими входами, вводимыми пользователем (в входе time). Функция onChange запускается через каждый вход, когда пользователь меняет значение.

Входы, заполненные из бэкэнд, преобразуются в объекты moment, введенные пользователем даты - это просто строки. Это означает, что функция onChange встречает некоторые объекты moment и некоторые строки. Мне нужно знать, какие входы являются объектами moment, а какие нет.

Какой рекомендуемый метод тестирования, если переменная является объектом moment?

Я заметил, что объекты moment имеют свойство _isAMomentObject, но мне интересно, есть ли другой способ проверить, является ли переменная объектом moment.

Другой вариант, который я пробовал, вызывает moment для переменной независимо. Это преобразует переменные string в объекты moment и, похоже, не влияет на существующие объекты moment.

4b9b3361

Ответ 1

Момент имеет метод isMoment для такой цели. Это не особенно легко найти в документах, если вы не знаете, что искать.

Сначала он проверяет instanceof, а затем не выполняет этого (например, в некоторых ситуациях с подклассом или с перекрестными ситуациями) он будет проверять свойство _isAMomentObject.

Ответ 2

Вы можете проверить, есть ли момент instanceof:

moment() instanceof moment; // true