私はJavaScriptにかなり慣れていないので、ダウンロードしたJavaScriptコードをクリーンアップしています。このコードの不整合の1つは、両方とそれを参照するthis
ローカル変数の混合使用です。that
サンプルコードスニペット(jQuery UIウィジェット内のプライベートメソッド):
_populateLists: function(options) {
//do stuff with this
var that = this;
options.each(function(index) {
//use both this AND that, they are different in this scope
});
//here this and that are the same thing
//I want to be consistent, is one preferable over the other?
},
コード全体の多くの場所で、スコープがそのようなものthis === that
である場合、同じコード行内であっても、さまざまな使用法があります。
読みやすさと保守性のために、またはを使用することが好ましいですthis
かthat
?
注:これらのタイプの多くは、開発者の好みに依存していることを認識しています。しかし、一方を他方よりも使用するようにコードを書き直すことを決定する前に、一方が他方よりも優先されるかどうか/理由を理解したいと思います。
編集:このスクリプトでは、ローカル変数に割り当てられている唯一の理由this
は、内部クロージャー内から参照できるようにするためだと思います。