アプリケーション プログラミング インターフェイス

JSHint は、Web ブラウザーや Node.js などの環境でプログラム的にアクセスするための JavaScript API を公開します。

JSHINT( ソース、オプション、プリデフ )

エラーや潜在的な問題に関するソース コードを分析します。

パラメータ

  • ソース
    • 説明: 入力 JavaScript ソース コード
    • タイプ: 文字列または文字列の配列(各要素は改行として解釈されます)
    • 例: JSHINT(["'use strict';", "console.log('hello, world!');"]);
  • オプション
    • 説明: ソース コードを分析するときに使用する リンティング オプション
    • タイプ: プロパティ名が使用する目的のオプションであり、プロパティ値はそのプロパティの構成値であるオブジェクト
    • 例: JSHINT(mySource, { undef: true });
  • プリデフ
    • 説明: 現在のファイルの外部で定義された変数 この引数の動作は globals リンティング オプション と同じ
    • タイプ: プロパティ名がグローバル変数識別子であり、プロパティ値が各変数の読み取り専用にするかどうかを制御するオブジェクト
    • 例: JSHINT(mySource, myOptions, { jQuery: false });

JSHINT.errors

最新の JSHINT 呼び出しによって生成された警告やエラーの配列

JSHINT.data()

最新の JSHINT 呼び出しに関する詳細を含むレポートを生成

たとえば、次のコード

var source = [
  'function goo() {}',
  'foo = 3;'
];
var options = {
  undef: true
};
var predef = {
  foo: false
};

JSHINT(source, options, predef);

console.log(JSHINT.data());

... は、次の出力を生成します

{
  functions: [
    {
      name: 'goo',
      param: undefined,
      line: 1,
      character: 14,
      last: 1,
      lastcharacter: 18,
      metrics: {
        complexity: 1,
        parameters: 0,
        statements: 0
      }
    }
  ],
  options: {
    undef: true,
    indent: 4,
    maxerr: 50
  },
  errors: [
    {
      id: '(error)',
      raw: 'Read only.',
      code: 'W020',
      evidence: 'foo = 3;',
      line: 2,
      character: 1,
      scope: '(main)',
      a: undefined,
      b: undefined,
      c: undefined,
      d: undefined,
      reason: 'Read only.'
    }
  ],
  globals: [
    'goo',
    'foo'
  ],
  unused: [
    {
      name: 'goo',
      line: 1, character: 10
    }
  ]
}