0
1

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 3 years have passed since last update.

JavaScriptのコンテキスト

Posted at

はじめに

コンテキストについて学習したので備忘録を残します。
初学者です。
間違っている箇所がありましたら申請お待ちしております。

コンテキストってなに?

JavaScriptでの意味
実行コンテキスト(コードを実行する際の文脈・状況)

コンテキストには3種類ある

覚えるべきは2つ
グローバルコンテキスト
関数コンテキスト
evalコンテキストは不要 関数eval自体が非推奨のため

グローバルコンテキスト
使用可能な値

  • 実行中のコンテキスト内の変数・関数
  • グローバルオブジェクト
  • this

関数コンテキスト
使用可能な値

  • 実行中のコンテキスト内の変数・関数
  • arguments
  • super(特殊な環境でのみ使用可能)
  • this
  • 外部変数

実際のコードで確認しよう

コメントアウトをみてね

// グローバルコンテキスト JavaScriptファイル内直下の実行環境(変数や関数)
let a = 0;
function b() {
  console.log(this, arguments, a); //これに加えてsuperと外部変数が使える(外部変数 = 関数の外の変数)
  // b();の関数コンテキスト
}

b();

// 関数コンテキスト 関数{}の中の実行環境 (波括弧の中)
// thisやargumentsは実行される環境によって取得する値が違う

まとめ

コンテキストとはコードを実行する際の文脈・状況
グローバルコンテキスト
jsファイル直下の関数や変数

    - 実行中のコンテキスト内の変数・関数
    - グローバルオブジェクト
    - this

関数コンテキスト
関数の中括弧の中

- 実行中のコンテキスト内の変数・関数
- arguments
- super(特殊な環境でのみ使用可能)
- this
- 外部変数
0
1
0

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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?