1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaScriptのthisについて

Last updated at Posted at 2023-07-03

"this"は実行コンテキストであるオブジェクトへの参照である。

実行コンテキストとは

まず、 コンテキストとは何かですが、「前後関係、文脈」といった意味になります。
そのためプログラミングではコードを実行する際の状況という意味合いになり、
実行コンテキストとはコードを実行しているコンテキストという意味です。

thisについて

実行中のコンテキストでは以下が使用可能である。
・グローバルオブジェクト
・this

Node.jsではglobalと呼ばれるオブジェクトがグローバルオブジェクトになり、
ブラウザであればWindowがグローバルオブジェクトになる。
thisはデフォルトでグローバルオブジェクトを参照している。

そのため、thisは実行環境によって中身が変わっている。

globalThisについて

上記までで長々と記載してきましたが、実行環境によってthisの中身が変わるためトップレベルでのthisの参照は推奨されておらず、
コードがどの環境で実行されているのかを知らなくても、一貫した方法でグローバルオブジェクトにアクセスすることができるglobalThisが推奨されているようです。

globalThis はグローバルプロパティで、グローバルオブジェクトと同等であるグローバルな this が格納されています。

参照
globalThis - javaScript | MDN

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?