これまでにデータ型や基本的な構文を学んできましたが、今回はより深く、変数宣言とスコープについて解説していきます。
変数とスコープは、プログラミングの基本要素であり、正確な理解が重要です。
今回の記事を通じて、変数宣言の違いやスコープの理解を深め、効率的なコードの書き方を身につけましょう。
変数とは
変数とは、プログラムの中で数字や文字などの情報を一時的に保存するための箱のようなものです。
変数には名前が付いていて、その名前を使って情報にアクセスすることができます。
例えば、名前を保存しておく太郎という名前を保存しておくコードは以下の通りになります。
let name = "タロウ"; // 名前
この例では、変数「name」に「タロウ」という名前が保存されています。
この例のように、変数にデータを保持することができます。
変数宣言(var、let、const)
JavaScriptでは、変数を作るときに、var
、let
、const
という3つの言葉を使います。
それぞれがどんな場所で使えるかを説明していきます。
var(ヴァー)
var
で宣言した変数 は、関数の中で使うと、その関数の中でしか使えません。
関数の外で使うと、どこでも使えます。
function sayHello() {
var message = "こんにちは!";
console.log(message); // "こんにちは!"と表示されます。
}
console.log(message); // エラーが起こります。関数の中で作った変数はここでは使えません。
宣言(せんげん)とは
プログラミング言語で変数や関数などを作成し、その名前や型を指定することです。
宣言することで、プログラムの中でその変数や関数を使うことができます。
let(レット)
let
で作った変数は、波括弧( { } )で囲んだ範囲の中でしか使えません。
{
let age = 13;
console.log(age); // 13と表示されます。
}
console.log(age); // エラーが起こります。波括弧の中で作った変数はここでは使えません。
const(コンスト)
const
で作った変数も、波括弧({})で囲んだ範囲の中でしか使えません。
ただし、「const」で作った変数は、一度値が代入されると後から値を変えることができません。
{
const pi = 3.14;
console.log(pi); // 3.14と表示される
}
console.log(pi); // エラーが起こります。波括弧の中で作った変数はここでは使えません。
{
const pi = 3.14;
pi = 3; // ここで値を変更しようとしてもエラーが発生する
}
const
で作った変数は後から値を変更しようとしてもエラーが発生し、プログラムは正常に実行されません。
const
で宣言された変数は、一度値が代入された後は変更できないため、定数のように使われます。
定数とは
定数は、一度設定したら変更できない値のことです。
JavaScriptでは、定数を作る時にconst
キーワードを使います。
定数を使うことで、プログラムが安全で読みやすくなります。
例えば、円周率(パイ)を使ったプログラムを考えてみましょう。
円周率は値が変わらないので、定数として宣言するのが適切です。
const pi = 3.141592653589793;
プログラムが安全というのは、プログラムが意図しない動作やエラーを起こさず、正しく動作することを意味します。
スコープとは
プログラムの世界では、「変数」は箱のようなものです。
箱には色々なものを入れられます。
そして、スコープとは、その箱がどこから見えるか、どこで使えるかという範囲のことを指します。
// グローバルスコープ
let globalAnimal = "犬";
function showAnimal() {
// ローカルスコープ
let localAnimal = "猫";
console.log("関数内の動物: " + localAnimal);
}
showAnimal(); // 関数内の動物: 猫
console.log("関数外の動物: " + globalAnimal); // 関数外の動物: 犬
グローバルスコープ
グローバルスコープは、家の中のどこからでも見える大きな箱だと思ってください。
家の中のどこにいても、その大きな箱の中身を見ることができます。
let favoriteFood = "ピザ"; // これはグローバルスコープの変数です。どこからでも見えます。
ローカルスコープ
一方、ローカルスコープは、部屋の中にある小さな箱だと思ってください。
その部屋にいないと、小さな箱の中身は見えません。
function myRoom() {
let secretToy = "ぬいぐるみ"; // これはローカルスコープの変数です。myRoom関数の中でしか見えません。
}
このように、スコープは変数がどこから見えるか、どこで使えるかという範囲を示しています。
グローバルスコープはどこからでも見えますが、ローカルスコープは特定の場所(関数)でしか見えません。
これにより、適切な範囲で情報を共有できます。
スコープを理解し、変数を適切な場所で使うことで、プログラムがすっきりとして、読みやすくなります。
まとめ
3日目の学習では、変数宣言とスコープについて学んできました。
変数や定数は、プログラミングをする上でかなり扱う頻度が高いです。
そして、スコープは、変数が利用できる範囲を示す言葉です。
宣言の仕方の違いや、スコープの定義をしっかりと頭に入れておいてくださいね。
以下は今回の記事のポイントになります。
- 変数とは、プログラムでデータを一時的に保管する仮の場所です。
- JavaScriptでは、変数宣言にはvar、let、constの3つのキーワードを使用します。
- varは関数スコープ、letとconstはブロックスコープの変数で、使い分けが大切です。
- constで宣言された変数は、一度値が代入されると変更できないため、定数として活用できます。
- スコープとは、変数が利用できる範囲のことで、適切なスコープで変数を扱うことがコードの可読性向上に繋がります。