この単純なコードを考えてみましょう。
"use strict";
var obj = {
f: function() {
this.prop = 'value';
g.bind( this )();
}
};
function g() {
console.log( this.prop );
}
このコードを検証しようとすると、jshintPossible strict violation.
で呼び出した場所でエラーが発生しますconsole.log( this.prop );
。これはthis
、関数の厳密モードではが未定義であるためです。
しかし、私はそれを呼び出す前にこの関数をバインドしているのでthis
、正しいオブジェクトです。
この「デザインパターン」を使用して、メインオブジェクトが乱雑にならないようにしています。パラメータにプロパティを渡すと関数も乱雑になるので、これを行うことを拒否します。その上、これはまさにそのbind
目的です。
JSHintにこれをさせる方法はありますか?