見出し画像

プログラミング学習 JavaScriptで電卓完成

プログラミング学習の記事。

JavaScriptで作る電卓が完成したので、レビューします。

今回の開発は自分にとって大きな達成感と自信を得ることができました
結構複雑で本当にできるかな・・・と思ってた電卓が、生JSで今の拙い知識でちゃんと意図通りに完成することができたのです。

自分にとっては結構すごいです。
だって4月の頭は関数も変数もよく分からない状態だったんです。

いやもちろん、見る人が見れば
「なんだこの素人丸出しのコードは・・・汚いなあ」となるでしょう。
でも現時点ではそれで良いと思っています。もっときれいに書く方法はもちろんあるでしょうし、便利なライブラリもあるかもしれません。

でもそれを使わずに、全て自分で仮説を立て、ググりながら、今自分が持っているJSの基礎(変数の基礎、関数の基礎、要素の取得の基礎)だけでなんとか完成に持って行けたことに意味があると思っています。

仕様

仕様はこちらの記事にまとめています。

完成品

下記が完成した電卓とコードです。

開発で良かったこと

・とにかく今回もネットにある雛形やライブラリを予め参考にせず、自分で考えた仕様、自分で考えた設計に基づきながら、何とか形だけは意図通りに動くようにできたこと。
・同じキー操作でも、条件によって動作が異なる場合の解決方法も(正解かどうかは別として)自分で仮説を立てて実際に解決できたこと。(例えば「+」キーは直前に数字キーが押されたか、他の「-」、「×」キーなどが押されたかによって動作を変えている。)
・複雑な条件分岐をいったん紙に書いて整理してからコードを書く癖がついたこと。
・同じような処理を関数にまとめる癖が「つき始めた」こと。
・変数や関数のスコープについてある理解が深まってきたこと。


悪かったこと

・開発途中でMacが壊れて、コードが一部消えてしまったこと。
→もちろん仕事じゃありえないですが、今後はGitなどを使えるようになって常にコードを保存しておく癖を付けたい。
・下記の仕様は未実装。ちょっと今の知識で解決できなかった。

 ・数字キーを押すと「AC」ボタンは「C」ボタンに変わる。
 ・「C」ボタンを押すと、その直前のアクションがクリアされ、「AC」ボタンに置き換わる。

今後追加したい機能としておきます。

プログラミングって本当に楽しいなあ と思わせてくれる開発でした。
上手く動作しない時は他のことをしていても気になってしまい、隙間時間があればちょこっとPCを開いて直してみて・・やっぱり動かなくて悶々となったり・・早く開発したくてしょうがないという気持ちでした。

この記事は自分の開発日誌みたいなものですが、
もしご興味があればコードを見ていただき、アドバイスなどいただけるとありがたいなあと思っています。

次は何を作ろうかな。
今はPHPを学習しているので、PHPで作ってみようと思います。

この記事が気に入ったらサポートをしてみませんか?