数年ぶりにJavaScriptを触る機会があり、基本を復習しています。このブログでは、変数や定数、データ型について整理してみました。
JavaScriptの基本:変数と定数
JavaScriptでは、値を格納するために変数や定数を使います。それぞれの特徴を簡単にまとめます。
let
(変数)
- 再代入可能な変数を宣言します。
- ブロックスコープを持つ(
{}
内でのみ有効)。
let message = "Hello, world!";
console.log(message); // "Hello, world!"
message = "Goodbye, world!";
console.log(message); // "Goodbye, world!"
const
(定数)
- 再代入不可な定数を宣言します。
- 初期化時に値を設定する必要があります。
const pi = 3.14;
console.log(pi); // 3.14
// pi = 3.14159; // エラー!定数に再代入はできない
var
(古い形式)
- 再代入可能ですが、現在ではほとんど使われません。
- スコープが関数スコープであるため、意図しない挙動を引き起こすことがあります。
var name = "Alice";
console.log(name); // "Alice"
name = "Bob";
console.log(name); // "Bob"
現在では、let
と const
を使うのが推奨されています。
データ型
JavaScriptでは、変数に代入される値の型が自動的に決まります。これを「動的型付け」と呼びます。
基本データ型(プリミティブ型)
1. 文字列(String)
- テキストデータを表します。
- シングルクォート、ダブルクォート、テンプレートリテラルで囲むことができます。
let greeting = "Hello!";
let anotherGreeting = 'Hi!';
let name = "Alice";
let message = `Hello, ${name}!`; // テンプレートリテラル
console.log(message); // "Hello, Alice!"
2. 数値(Number)
- 整数や小数を表します。
let age = 25;
let height = 1.75;
console.log(age, height); // 25, 1.75
3. 真偽値(Boolean)
true
またはfalse
の値を持ちます。
let isLoggedIn = true;
console.log(isLoggedIn); // true
4. 未定義(Undefined)
- 値が未設定の場合、型は
undefined
になります。
let notAssigned;
console.log(notAssigned); // undefined
5. 空(Null)
- 値が「空」であることを明示的に示します。
let emptyValue = null;
console.log(emptyValue); // null
6. シンボル(Symbol)
- 一意の値を作るために使用します。
let uniqueId = Symbol("id");
console.log(uniqueId); // Symbol(id)
複合データ型
1. 配列(Array)
- データのリストを表します。
let colors = ["red", "green", "blue"];
console.log(colors[0]); // "red"
2. オブジェクト(Object)
- キーと値のペアを持つ複雑なデータを表します。
let person = {
name: "John",
age: 30,
isStudent: false
};
console.log(person.name); // "John"
動的型付けの特徴
JavaScriptでは、変数の型は代入された値によって動的に決まります。
let value = 42;
console.log(typeof value); // "number"
value = "Hello";
console.log(typeof value); // "string"
この柔軟性がJavaScriptの特徴ですが、型の変化によってバグを招く可能性もあります。
TypeScriptを使った型管理の例
プロジェクトの規模が大きくなる場合や、型の安全性を高めたい場合は、TypeScriptを導入するのがおすすめです。TypeScriptでは、変数の型を明示的に指定でき、型のミスをコンパイル時に防げます。
TypeScriptのコード例
let age: number = 25;
// age = "twenty-five"; // エラー!型が異なるため代入できない
let names: string[] = ["Alice", "Bob"];
// names.push(42); // エラー!数値は追加できない
このように、TypeScriptを使うことで型の安全性を確保し、予期せぬバグを防ぐことが可能です。
まとめ
JavaScriptの基本文法を振り返りながら、柔軟性と注意点を再確認しました。数年ぶりにJavaScriptを触る私にとって、これらの基本は改めて重要だと感じます。
もし同じようにJavaScriptの復習を考えている方がいれば、この記事が少しでも役に立てば嬉しいです。次回は、ブラウザAPIやイベント処理について触れていこうと思います!