メモブログ

技術的なことを書き連ねるブログ

Vue.js で 計算電卓アプリを作る

電卓

Vue.jsが流行っているので、
ちょこちょこ勉強していたのですが、

簡単なアプリならさくっと出来るなーと思い、
練習がてら電卓アプリを作ってみました。

巷で転がっている電卓アプリはeval()を使いまくっていてとても簡単そうだったのですが
evalはあまり推奨されていないのと、セキュリティ的にも良く無さそうなので、
あえて使いませんでした。
お陰で、jsを書くのが少し大変でしたが勉強にはなりました。。

完成品

codesandbox.io

仕様
  • 基本はiphoneの電卓の仕様と同じ
  • 「AC」ボタンは全部クリア、「C」 ボタンは入力中の数字のみクリア
  • 「=」連続押しでの、計算の反復は今回は無し(やりたかったけど、結構めんどくさい)
感想

面倒だったのが、値のデータ型で、それをいちいち変換しないといけない所です。
表示上Stringじゃないとうまくいかない所、

例えば
Numberのままだと0.00 が 0になったり1.00が1になったりします。
入力中はStringで、計算するときはNumberで、のように
Number <--> String と行き来するのがやっかいでした。
javascriptは型には寛大だけど、バグの温床になりそうですね。
Typescriptで書いた方がいいのだろうか。。

正直Vue.jsの恩恵はこの規模だとそんなに与れないかもしれないですが
このデータバインディングがめちゃくちゃ便利だと感じました。

しかし、codesandboxは素振りやモックには最高のサービスですね。