1. ホーム
  2. javascript

[解決済み] 変数がMoment.jsのオブジェクトであるかどうかをテストするには?

2022-11-30 23:51:04

質問

私のアプリケーションには、バックエンドから入力されるいくつかの入力と、ユーザーによって入力される他の入力があるHTMLフォームがあります ( time 入力) があります。このような場合 onChange 関数は、ユーザが値を変更したときに各入力に対して実行されます。

バックエンドから入力されたものを moment オブジェクトに変換され、ユーザーが入力した日付は単なる文字列になります。つまり onChange 関数はいくつかの moment オブジェクトと、いくつかの文字列に遭遇します。どの入力が moment オブジェクトであり、そうでないものを知る必要があります。

ある変数がオブジェクトであるかどうかをテストするために推奨される方法は何ですか? moment オブジェクトであるかどうかをテストするための推奨される方法は何ですか?

私が気づいたのは moment オブジェクトには _isAMomentObject プロパティがありますが、ある変数が moment オブジェクトであるかどうかをテストする他の方法はないでしょうか。

私が試したもう一つの選択肢は moment を呼び出すことです。これは string 変数を moment オブジェクトに変換され、既存の moment オブジェクトに影響を与えないようです。

どのように解決するのですか?

モーメントには isMoment メソッド があります。何を探すかわからない限り、ドキュメントで見つけるのは特に簡単ではありません。

これは最初に instanceof をチェックし、それが失敗すると (例えば特定のサブクラスやクロスレームの状況下で) _isAMomentObject プロパティをテストします。