1. ホーム
  2. javascript

[解決済み] JSLintが突然レポートする。"use strict" の関数形式を使用する

2022-03-21 22:59:13

質問

という文言を入れています。

"use strict";

を、ほとんどのJavascriptファイルの冒頭に追加しています。

JSLintはこれまで一度も警告を出したことがありません。しかし、今はこう言っています。

use strict"の関数形式を使用してください。

どなたか、"function form"がどのようなものかご存知でしょうか?

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

以下が含まれます。 'use strict'; をラッピング関数の最初のステートメントとして使用すると、その関数にのみ影響するようになります。 これにより、厳密でないスクリプトを連結する際の問題を防ぐことができます。

Douglas Crockfordの最新のブログ記事を参照してください。 ストリクトモードが街にやってくる .

その投稿の例

(function () {
   'use strict';
   // this function is strict...
}());

(function () {
   // but this function is sloppy...
}());

更新しました。 即時関数でラップしたくない場合(ノードモジュールであるなど)、警告を無効化することができます。

について JSLint (あたり ザーミー ):

/*jslint node: true */

について JSHint :

/*jshint strict:false */

または(あたり ライス・シェイディッド )

/* jshint -W097 */

JSHintからの任意の警告を無効にするには、以下のマップを確認します。 JSHintソースコード (詳細は ドキュメント ).

アップデート2: JSHint サポート node:boolean オプションで指定します。参照 .jshintrc githubにて .

/* jshint node: true */