【ITニュース解説】Untitled
2025年10月03日に「Dev.to」が公開したITニュース「Untitled」について初心者にもわかりやすく解説しています。
ITニュース概要
この記事は、投稿者が自ら作成したプログラムやWebページのデモを紹介している。具体的な内容や使用技術の詳細は不明。しかし、実際にコードを書いて作られた具体的な成果物を見ることは、システムエンジニアを目指す初心者の学習やアイデアを得る上で参考になるだろう。
ITニュース解説
今回の記事は、CodePenというWeb上でコードを共有・実行できるプラットフォームで公開された、一つの小さなプロジェクトを紹介している。これは、Web開発の最も基本的な要素であるHTML、CSS、JavaScriptという三つの技術を組み合わせて作られた、シンプルな電卓アプリケーションである。システムエンジニアを目指す初心者がWebアプリケーションの仕組みを理解する上で、この電卓アプリの構造と動作は非常に良い学習材料となる。
まず、Webページやアプリケーションの骨格を作るHTMLについて解説する。HTMLは「HyperText Markup Language」の略であり、Webコンテンツの構造を定義するためのマークアップ言語である。この電卓アプリのHTMLコードを見ると、まず全体のコンテナとしてdivタグが使われ、その中に電卓の各部分が配置されていることがわかる。具体的には、計算結果を表示するディスプレイ部分と、数字や演算子などのボタン群を配置する部分に分かれている。ディスプレイはinputタグで作成されており、ユーザーが直接入力できないようにreadonly属性が付与されている。これは、計算結果のみを表示するための適切な設計である。ボタン群はさらに別のdivタグの中に配置され、各ボタンはbuttonタグによって個別に作成されている。それぞれのボタンには、そのボタンが持つべき値を示すdata-value属性が設定されている場合がある。例えば、数字の「1」ボタンにはdata-value="1"が、足し算の「+」ボタンにはdata-value="+"が設定されている。このdata-value属性は、後述するJavaScriptがどのボタンがクリックされたかを識別し、適切な処理を行うために非常に重要な役割を果たす。このようにHTMLは、アプリケーションのユーザーインターフェースがどのような部品で構成され、それぞれがどのような意味を持つかを明確に定義する。
次に、Webアプリケーションの見た目をデザインするCSSについて解説する。CSSは「Cascading Style Sheets」の略であり、HTMLで構造化された要素に対して、色、フォント、レイアウト、サイズなどのスタイルを適用するためのスタイルシート言語である。この電卓アプリでは、CSSによって電卓全体が中央に配置され、背景色や角の丸み、影といった装飾が施されている。ディスプレイ部分は、適切な幅と高さが設定され、文字の色やフォントサイズ、テキストの配置(右寄せ)などが定義されている。これにより、計算結果が見やすく、電卓らしい表示が実現されている。さらに、ボタン群のレイアウトもCSSによって定義されている。具体的には、グリッドレイアウトという手法が使われており、ボタンが均等な間隔で整列して配置されている。個々のボタンに対しても、幅、高さ、背景色、文字の色、フォントサイズ、カーソルの形状などが細かく設定されている。特定の種類のボタン、例えば演算子ボタンやクリアボタン、イコールボタンには、他のボタンとは異なる背景色が適用されており、視覚的にその役割を区別しやすくしている。また、マウスカーソルがボタンの上に重なった際にボタンの背景色が変わる「ホバーエフェクト」もCSSによって実装されており、ユーザーにインタラクティブなフィードバックを提供している。CSSは、HTMLによって定義された構造に、使いやすさと美しさをもたらす役割を担っている。
そして、Webアプリケーションに動きと機能を与えるJavaScriptについて解説する。JavaScriptは、Webページ上で動的なコンテンツやインタラクティブな機能を実現するためのプログラミング言語である。この電卓アプリの機能の中核は、すべてJavaScriptによって実装されている。まず、HTMLで定義されたディスプレイ要素やボタンコンテナといった要素をJavaScriptコード内で取得している。これにより、JavaScriptがこれらの要素に対して操作を加えることができるようになる。電卓の機能を実現するために、currentInput(現在入力中の数値または演算子)、previousInput(一つ前の数値)、operation(選択された演算子)といった複数の変数が定義されている。これらの変数は、電卓の状態を管理するために不可欠である。ユーザーが電卓のボタンをクリックした際のイベントを検知するために、イベントリスナーが設定されている。ボタンがクリックされると、そのイベントがJavaScriptによって捕捉され、クリックされたボタンのdata-value属性を読み取って、どの操作を行うべきかを判断する。
具体的な処理としては、次のような流れである。
クリアボタン('C')が押された場合、currentInput、previousInput、operationのすべての状態が初期値にリセットされる。
数字ボタンや小数点ボタンが押された場合、その値がcurrentInput変数に追加される。ただし、小数点については、すでに小数点が含まれている場合は二重に入力されないように制御される。
演算子ボタン('+', '-', '*', '/')が押された場合、現在currentInputに値があれば、その値をpreviousInputに移動させ、currentInputをリセットする。そして、選択された演算子をoperation変数に格納する。これは、最初の数値と演算子を記憶し、次の数値を待つための準備である。
イコールボタン('=')が押された場合、previousInput、currentInput、operationのすべてに値が設定されていることを確認し、それらの値を使って計算を実行するcalculate()関数が呼び出される。
calculate()関数の中では、previousInputとcurrentInputの文字列を数値に変換し、operation変数の値に応じて、足し算、引き算、掛け算、割り算のいずれかの計算を実行する。計算結果は再びcurrentInputに格納され、previousInputとoperationは次の計算のためにリセットされる。
最後に、updateDisplay()という関数が用意されており、この関数がcurrentInputの値をディスプレイに表示することで、ユーザーは現在の入力値や計算結果を視覚的に確認できるようになっている。
このように、HTML、CSS、JavaScriptという三つの技術が密接に連携することで、単なる静的な情報表示にとどまらず、ユーザーと対話できる機能的なWebアプリケーションが構築されていることが理解できる。HTMLがアプリケーションの構造を定義し、CSSがその見た目を整え、JavaScriptがユーザーの操作に応じた複雑なロジックと動作を制御する。システムエンジニアを目指す初心者にとって、このようなシンプルな電卓アプリの内部構造を理解することは、より複雑なWebサービスや情報システムの開発における基礎的な考え方を学ぶ上で、非常に重要な第一歩となる。これらの基礎技術の理解は、あらゆるWebベースのシステムの開発において不可欠なスキルである。