𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝗰𝗼𝗽𝗲: 𝗕𝗹𝗼𝗰𝗸, 𝗚𝗹𝗼𝗯𝗮𝗹, 𝗮𝗻𝗱 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻 JavaScriptのスコープ:ブロック、グローバル、および関数
スコープは、コード内のどこで変数を使用できるかを決定します。
グローバルスコープ (Global Scope) 変数は関数やブロックの外に存在します。スクリプト内のどこからでもアクセスできます。 注意:グローバル変数は、コードのどの部分からでも変更できてしまうため、バグの原因になります。
関数スコープ (Function Scope) 変数は関数の中に存在します。その特定の関数内でのみアクセス可能です。
ブロックスコープ (Block Scope) これは
letやconstを使用する現代的な JavaScript に適用されます。変数は波括弧{}の中に存在します。 ブロックには以下が含まれます:
- if 文
- for ループ
- while ループ
- 単独のブロック
{}
スコープのまとめ:
- グローバル:どこからでもアクセス可能。
- 関数:関数内でのみアクセス可能。
- ブロック:波括弧内でのみアクセス可能。
- var:関数スコープを使用します。ブロックスコープは無視されます。
- let と const:ブロックスコープを使用します。より良いコードを書くためにこれらを使用してください。
プロセスとスレッドの理解
プロセスとは、独自のメモリを持つ実行中のプログラムのことです。WhatsApp を一つのプロセスとして考えてみてください。
スレッドはプロセスの一部です。スレッドは同じメモリを共有します。
- スレッドは軽量です。
- 作成が高速です。
- 同時に多くのことを行うことができます。
WhatsApp の例: 一つのプロセス(WhatsApp)が複数のスレッドを実行します:
- メッセージの受信
- 写真の送信
- 動画の再生
- 通知の表示
出典: https://freeacademy.ai/lessons/global-vs-function-vs-block-scope 出典: https://josephcardillo.medium.com/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe