エラノート エラノート

JavaScript入門|はじめの一歩をわかりやすく解説

JavaScript 入門 基本文法 初心者
広告スペース (article-top)

JavaScriptはWebサイトに動きをつけるためのプログラミング言語です。ボタンをクリックしたときの動作や、ページの内容を動的に変えるなど、私たちが日常的に目にするWebの機能の多くはJavaScriptで実現されています。この記事では、JavaScriptの基本文法をゼロから解説します。

JavaScriptとは

JavaScriptは、Webブラウザ上で動作するプログラミング言語として誕生しました。現在ではサーバーサイド(Node.js)やスマホアプリ開発にも使われ、世界で最も広く使われている言語の一つです。

JavaScriptを始めるのに特別な準備は不要です。お使いのブラウザ(Chrome、Firefox、Edgeなど)に開発者ツールが内蔵されており、すぐにコードを試すことができます。

開発者ツールの開き方

  1. ブラウザで任意のページを開く
  2. F12キーを押す(Macの場合はCmd + Option + I
  3. 「Console」タブを選択する

ここにJavaScriptのコードを入力してEnterを押せば、すぐに実行結果を確認できます。

変数の宣言と使い方

JavaScriptで変数を宣言するには、letconstvarの3つのキーワードがあります。現在の主流はletconstです。

// let: 後から値を変更できる変数
let score = 0;
score = 100;  // OK: 値を変更できる

// const: 値を変更できない定数
const MAX_SCORE = 1000;
// MAX_SCORE = 2000;  // エラー: 再代入できない

// var: 古い書き方(現在は非推奨)
var oldStyle = "使わない方がよい";

基本のデータ型

// 数値(整数も小数も同じNumber型)
let age = 25;
let pi = 3.14;

// 文字列(シングルクォート、ダブルクォート、バッククォート)
let name = "田中太郎";
let greeting = 'こんにちは';
let message = `${name}さん、${greeting}`;  // テンプレートリテラル

// 真偽値
let isActive = true;
let isDeleted = false;

// undefined(値が未定義)
let x;
console.log(x);  // undefined

// null(意図的に空を設定)
let data = null;

テンプレートリテラル(バッククォート)は、文字列の中に変数を埋め込むときに便利です。${}の中に変数や式を書けます。

関数の基本

関数は、処理をまとめて名前をつけたものです。同じ処理を何度も書かなくて済むようになります。

関数宣言

// 関数を定義する
function greet(name) {
  return `こんにちは、${name}さん!`;
}

// 関数を呼び出す
let result = greet("田中");
console.log(result);  // こんにちは、田中さん!

アロー関数

ES6以降で使える、より短い書き方です。

// アロー関数
const add = (a, b) => {
  return a + b;
};

// 処理が1行なら中括弧とreturnを省略できる
const multiply = (a, b) => a * b;

console.log(add(3, 5));       // 8
console.log(multiply(4, 6));  // 24

関数の活用例

// 税込み価格を計算する関数
const calcTaxIncluded = (price, taxRate = 0.1) => {
  return Math.floor(price * (1 + taxRate));
};

console.log(calcTaxIncluded(1000));       // 1100
console.log(calcTaxIncluded(1000, 0.08)); // 1080

// 配列の合計を求める関数
function sum(numbers) {
  let total = 0;
  for (let num of numbers) {
    total += num;
  }
  return total;
}

console.log(sum([10, 20, 30]));  // 60

taxRate = 0.1のように、引数にデフォルト値を設定できます。引数が渡されなかった場合にデフォルト値が使われます。

条件分岐とループ

プログラムの流れを制御する基本的な構文を見ていきましょう。

if文

let score = 75;

if (score >= 80) {
  console.log("優秀です");
} else if (score >= 60) {
  console.log("合格です");
} else {
  console.log("不合格です");
}
// 出力: 合格です

比較演算子の注意点

// == は型変換してから比較(非推奨)
console.log(1 == "1");   // true(文字列"1"が数値に変換される)

// === は型も含めて厳密に比較(推奨)
console.log(1 === "1");  // false(型が異なるのでfalse)
console.log(1 === 1);    // true

// 常に === を使うことを推奨

=====の違いは、JavaScript初心者がつまずきやすいポイントです。基本的には常に===(厳密等価演算子)を使いましょう。

for文

// 基本のfor文
for (let i = 0; i < 5; i++) {
  console.log(`${i + 1}回目のループ`);
}

// 配列をループ
const fruits = ["りんご", "みかん", "ぶどう"];

for (let fruit of fruits) {
  console.log(fruit);
}

// forEachメソッド
fruits.forEach((fruit, index) => {
  console.log(`${index + 1}: ${fruit}`);
});

while文

let count = 0;

while (count < 3) {
  console.log(`カウント: ${count}`);
  count++;
}
// カウント: 0
// カウント: 1
// カウント: 2

初心者が注意すべきポイント

ポイント1: セミコロンの扱い

// JavaScriptではセミコロンは省略可能だが、つける方が安全
let a = 1;
let b = 2;

// 省略しても動くが、予期せぬ動作の原因になることがある
let c = 1
let d = 2

チームで開発する場合は、ESLintなどのツールでルールを統一するのが一般的です。

ポイント2: constを優先的に使う

// まずconstで宣言し、再代入が必要な場合だけletを使う
const API_URL = "https://api.example.com";
const MAX_RETRY = 3;

let currentRetry = 0;  // ループで更新するのでlet

constを優先することで、意図しない値の変更を防げます。

ポイント3: console.logを活用する

// デバッグの基本はconsole.log
let data = { name: "太郎", age: 25 };
console.log(data);           // オブジェクト全体を表示
console.log(typeof data);    // "object"(型の確認)
console.log(data.name);      // "太郎"(プロパティの確認)

コードの動きがわからないときは、要所にconsole.logを入れて値を確認しましょう。地道ですが、最も確実なデバッグ方法です。

実践へのステップ

JavaScriptの基礎を学んだら、次のステップとして以下のことに挑戦してみましょう。

  • HTMLファイルに<script>タグを使ってJavaScriptを埋め込んでみる
  • ボタンのクリックイベントを処理してみる
  • 配列やオブジェクトの操作に慣れる
  • DOM操作でページの内容を動的に変えてみる

まずはブラウザの開発者ツールで、この記事のコード例を実際に動かしてみることをおすすめします。

広告スペース (article-bottom)

あわせて読みたい