teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

おまけ追加

2018/07/12 06:40

投稿

miyabi-sun
miyabi-sun

スコア21472

answer CHANGED
@@ -24,4 +24,18 @@
24
24
  // 123が表示される
25
25
  ```
26
26
 
27
- この様にevalをtry-catchで包む事で計算できない単語が出現してエラーになった場合でも、catch側の回避コードを実行してくれます。
27
+ この様にevalをtry-catchで包む事で計算できない単語が出現してエラーになった場合でも、catch側の回避コードを実行してくれます。
28
+
29
+ ---
30
+
31
+ 「おまけ」
32
+
33
+ こういったネタは結構ありがちなので、きっとライブラリが転がってるはず…
34
+ ググってたらJSが得意なthink49さんが作ってアップしてますね。
35
+ [https://gist.github.com/think49/54b074cab2145efddb48765652c74710](https://gist.github.com/think49/54b074cab2145efddb48765652c74710)
36
+
37
+ ざっとコードを斜め読みしましたが、四則演算対応かつevalを使わない設計ということで、
38
+ 計算速度は知りませんが、ある程度の運用に耐えるんじゃないでしょうか?
39
+
40
+ `abc`という文字列対策にSyntaxErrorを返すということで、
41
+ 私の回答文にあったtry-catchで包むテクニックと併用すればいい感じになると思います。