#はじめに
こんにちは。
JavaScriptのthisについてアウトプットしていきます!
##thisとは
thisとは、特別な変数のこと!
ちなみに何が特別かというと呼び出した場所、使い方によって用途が変わってくる点です。
コードを記述しながら説明していきます。
JavaScript
console.log(this); //windowオブジェクト
何にも囲まれていない状態でthisを出力してみると、windowオブジェクトを参照しています。
JavaScript
const obj = {
name: 'Sato',
age: 20,
sample: function(){
console.log(this.name); //Sato
window.setTimeout(function(){
console.log(this); //windowオブジェクト
});
}
}
obj.sample();
上記の記述では、objの関数sampleの処理を実行しており、「this.name」のthisはobjを参照しているので、「Sato」が出力される。また、「window.setTimeout」はobjではなく、windowオブジェクトを参照している。
上記のように、thisは直近で囲まれているオブジェクトを参照しており、状態によって取れる値が変わっていきます。
#最後に
ここまでthisについてまとめました。
なかなか理解できるまで時間がかかりましたが、今後のアプリ開発をしていくためにも基礎をしっかり抑えていきたいと思います!