ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でオブジェクトのすべてのメソッドを取得するにはどうすればよいですか?
オブジェクトのすべてのメソッドを表示する方法
JavaScript では、オブジェクトで使用できるすべてのメソッドを取得するのが一般的なタスクです。これを実現するためのソリューションを詳しく見てみましょう:
アプローチ:
オブジェクトのすべてのメソッドをリストするには、Object.getOwnPropertyNames() メソッドを利用できます。このメソッドは、メソッドやプロパティなど、オブジェクトに属するすべてのプロパティ名の配列を取得します。
メソッドのみをフィルタリングして除外するには、次のように filter() 関数を利用できます:
<code class="javaScript">const objectMethods = Object.getOwnPropertyNames(object).filter(property => typeof object[property] === 'function');</code>
例:
Math オブジェクトについて考えてみましょう。上記の代コードを使用すると、そのすべてのメソッドを取得できます:
<code class="javaScript">console.log(Object.getOwnPropertyNames(Math).filter(property => typeof Math[property] === 'function'));</code>
これにより、次の出力が表示されます:
[ "abs", "acos", "asin", "atan", "atan2", "ceil", "cos", "exp", "floor", "log", "max", "min", "pow", "random", "round", "sin", "sqrt", "tan", ... ]
ES3 ブラウザ:
ES3 ブラウザ (IE 8 以前など) では、組み込みオブジェクトのプロパティを列挙できません。ただし、ウィンドウやドキュメントなどのオブジェクトは設計により列挙可能です。つまり、これらの組み込みオブジェクトのメソッドをリストしようとすると、いくつかの制限が発生する可能性があります。
命名規則に関する注意:
オブジェクトのプロパティに名前を付けるときは注意してください。同じ名前の組み込みプロトタイプ プロパティまたはメソッドがある場合、{ DontEnum } 属性に関連するバグにより、IE は for...in ループを使用するときにそれをスキップすることがあります。
以上がJavaScript でオブジェクトのすべてのメソッドを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。