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?

【JavaScript】スコープの種類

Posted at

スコープの種類

JavaScriptにおけるスコープは、大きく分けて次の3つのタイプがあります。

  1. ブロックスコープ(Block Scope):
    ブロックスコープは、一般的に {} で囲まれた範囲を指します。JavaScriptでは、letconst キーワードで宣言された変数はブロックスコープを持ちますが、var キーワードで宣言された変数はブロックスコープを持ちません。

    {
      // ブロックスコープ
      let blockVar = "I am a block scoped variable";
      const blockConst = "I am a block scoped constant";
      var globalVar = "I am a global variable";
    }
    
    console.log(blockVar); // エラー: ブロックスコープ外からはアクセス不可
    console.log(blockConst); // エラー: ブロックスコープ外からはアクセス不可
    console.log(globalVar); // アクセス可能
    
  2. 関数スコープ(Function Scope):
    関数スコープは、関数内で宣言された変数がその関数内でのみアクセス可能であることを意味します。JavaScriptでは、var キーワードで宣言された変数は関数スコープを持ちます。

    function functionScopeExample() {
      // 関数スコープ
      var functionVar = "I am a function scoped variable";
      console.log(functionVar); // 関数内でアクセス可能
    }
    
    console.log(functionVar); // エラー: 関数スコープ外からはアクセス不可
    
  3. グローバルスコープ(Global Scope):
    グローバルスコープは、どこからでもアクセス可能な最も外側のスコープです。スクリプトのどこからでもアクセス可能な変数や関数がグローバルスコープに定義されます。

    var globalVar = "I am a global variable";
    
    function globalFunction() {
      console.log("I am a global function");
    }
    
    console.log(globalVar); // グローバル変数にアクセス可能
    globalFunction(); // グローバル関数にアクセス可能
    

これらのスコープを理解することで、変数や関数のアクセス性を適切に管理することができます。

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