JavaScript thisについてpart1

20220330

JavaScript

t f B! P L

 プログラミング

this

関数の実行コンテキストのオブジェクト自身への参照が格納された暗黙の引数

const test = function () { 
  this.name = 'aichan';
  console.log('`this` is', this); 
};
const obj = new test(); //{ name: "aichan" }

この場合のthisは、{ name: "aichan"}オブジェクト。
暗黙的に渡されたthisのnameにaichanを突っ込んだ形。

const test = function () { 
  console.log('`this` is', this); 
};
const obj = new test(); //test()

この場合のthisは、testオブジェクト。
new演算子は、
・関数オブジェクトをコピーし、新規にオブジェクトを作成する
・新規で作成したオブジェクトを暗黙の引数 thisとして渡している
ということを行っている。

const foo = {
name: 'Foo Object',
dump() {
console.log(this);
},
};
foo.dump(); // {name: 'Foo Object', dump: ƒ}

この場合のthisは、{name: 'Foo Object', dump: ƒ}というfooオブジェクト。
.の前のオブジェクトが暗黙の引数thisとして渡されている。

GoogleChromeのデバッグコンソールでthisと打つ。

this //Window {window: Window, self: Window, document: document, name: '', location: Location, …}

Windowオブジェクトがthisになっている。
実行環境のグローバルオブジェクトがthisとなる。

このブログについて

技術的に悩んだこと、やってみたことを書き溜めています。自身の復習のため、また同じ悩みがある方は参考にできるような書き方にしていきます。 趣味の競馬AI開発と競馬AIでの予想も公開していきます。 金曜日に土曜日の中央競馬(JRA)全レース予想、土曜日に日曜日の中央競馬(JRA)全レース予想を公開する予定です。

Tags

Golang (1) JavaScript (9) python (2) 機械学習 (5) 競馬 (138) 副業 (2)

注目の投稿

2022/10/02(日) 無料 競馬AI 予想 中山競馬場

このブログを検索

アーカイブ

投稿者情報

はじめまして。あいちゃんです。雑魚エンジニアです。趣味で機械学習をやっています。日々の勉強としてアウトプットしていきます。

QooQ