Javascript(31)計算機アプリの作成の紹介

Javascriptの紹介画像 javascript

前回はモダン機能について紹介しました。

Javascript(31)計算機アプリの作成の紹介
今回はjavascriptを用いた計算機アプリの作成方法について紹介します。できるだけ簡単にお伝えします。

今回は計算機アプリの作成について紹介していきます。

【もっと詳しく知りたい人は是非これを読んでください!!】

1冊ですべて身につくJavaScript入門講座 [ Mana ]

価格:2794円
(2025/1/12 23:09時点)
感想(2件)

 

 

JavaScriptで作る簡単な計算機アプリ:基本構文から実践プロジェクトへ

プログラミング学習の第一歩として、計算機アプリの作成は非常に有益です。JavaScriptの基本文法である変数、関数、イベントハンドリングを実際に使って、四則演算を行うシンプルな計算機アプリを作成します。これにより、コードの基礎を身につけながら、実践的なプロジェクトに取り組む準備ができます。


1. アプリの概要と構成

この計算機アプリは、ユーザーが数字と演算子(+、-、×、÷)を入力し、結果を表示するシンプルなものです。主な機能は次の通りです:

  • 数字と演算子の入力: ユーザーがボタンをクリックして、数値や演算子を入力します。
  • 計算処理: 入力された値に基づいて、四則演算を実行します。
  • 結果の表示: 計算結果を画面上に表示します。

2. HTML構造の作成

まずは、計算機アプリの基本的なHTML構造を作成します。シンプルなボタンやディスプレイ領域を用意し、ユーザーが入力しやすいレイアウトにします。


<!DOCTYPE html>
<html lang=\"ja\">
<head>
  <meta charset=\"UTF-8\">
  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
  <title>簡単な計算機アプリ</title>
</head>
<body>
  <div id=\"calculator\">
    <div id=\"display\">0</div>
    <div id=\"buttons\">
      <button class=\"btn\" data-value=\"7\">7</button>
      <button class=\"btn\" data-value=\"8\">8</button>
      <button class=\"btn\" data-value=\"9\">9</button>
      <button class=\"btn operator\" data-value=\"/\">/</button>
      <button class=\"btn\" data-value=\"4\">4</button>
      <button class=\"btn\" data-value=\"5\">5</button>
      <button class=\"btn\" data-value=\"6\">6</button>
      <button class=\"btn operator\" data-value=\"*\">×</button>
      <button class=\"btn\" data-value=\"1\">1</button>
      <button class=\"btn\" data-value=\"2\">2</button>
      <button class=\"btn\" data-value=\"3\">3</button>
      <button class=\"btn operator\" data-value=\"-\">-</button>
      <button class=\"btn\" data-value=\"0\">0</button>
      <button class=\"btn\" data-value=\".\">.</button>
      <button class=\"btn\" data-value=\"C\">C</button>
      <button class=\"btn operator\" data-value=\"+\">+</button>
      <button class=\"btn equal\" data-value=\"=\">=</button>
    </div>
  </div>
</body>
</html>

3. JavaScriptでの機能実装

続いて、JavaScriptを用いて計算機の基本機能を実装します。ここでは、ユーザーの入力を取得し、計算処理を実行するロジックを解説します。

3.1 変数と関数の定義


// 計算機の状態を管理する変数
let currentInput = "";
let operator = "";
let previousInput = "";

// 画面に値を表示する関数
function updateDisplay(value) {
  document.getElementById("display").textContent = value;
}

3.2 ボタンのクリックイベント処理


document.querySelectorAll(".btn").forEach(button => {
  button.addEventListener("click", function() {
    const value = this.getAttribute("data-value");
    
    // 「C」が押された場合、状態をリセット
    if (value === "C") {
      currentInput = "";
      operator = "";
      previousInput = "";
      updateDisplay("0");
      return;
    }
    
    // 「=」が押された場合、計算を実行
    if (value === "=") {
      if (previousInput !== "" && operator !== "" && currentInput !== "") {
        let result = 0;
        const num1 = parseFloat(previousInput);
        const num2 = parseFloat(currentInput);
        
        switch (operator) {
          case "+": result = num1 + num2; break;
          case "-": result = num1 - num2; break;
          case "*": result = num1 * num2; break;
          case "/": result = num1 / num2; break;
        }
        
        updateDisplay(result);
        // 計算後、状態をリセットして結果を新たな入力として扱う
        currentInput = result.toString();
        operator = "";
        previousInput = "";
      }
      return;
    }
    
    // 演算子の場合
    if (["+", "-", "*", "/"].includes(value)) {
      if (currentInput === "") return;
      operator = value;
      previousInput = currentInput;
      currentInput = "";
      return;
    }
    
    // 数字または小数点の場合、入力を追加
    currentInput += value;
    updateDisplay(currentInput);
  });
});

4. 実践例と改善ポイント

この計算機アプリは、基本的な四則演算を実行するシンプルな構造となっています。
今後は、以下のような改善が考えられます:
– 複数の演算子を組み合わせた連続計算の実装
– ユーザーインターフェースの強化(アニメーションやエフェクトの追加)
– 計算履歴の保存機能の追加
– エラーチェックの強化(ゼロ除算など)
– スマホ対応のレスポンシブデザインの実装


5. まとめ

本記事では、JavaScriptの基本文法を活用して、シンプルな計算機アプリを構築する方法を解説しました。
変数、関数、イベントハンドリング などの基礎を学びながら、実際に動くプロジェクトを体験できる内容になっています。
初心者の方は、まずこのシンプルなアプリを作成して、JavaScriptの基本をしっかりと理解することから始めましょう。実践を積むことで、さらに複雑なプロジェクトへのステップアップが可能になります。


6. 参考リンク