JavaScriptで大規模なシステムを構築する際の注意点を説明しよう。注目すべきはJavaScriptの言語仕様である。1人で小さなアプリを開発する際は柔軟でいいのだが、この柔軟さは、大規模開発では仇となる。 「JavaScriptはデータ型を明示的に指定しなくても動作するため、想定しない動作をすることがある」と、サイボウズの天野祐介氏(グローバル開発本部 開発部)は話す(図1の上)。 JavaScriptでは、「var a = 1」と記述すれば数字の「1」が代入され、「var a = "1"」と記述すれば文字列の「1」が代入される。変数aで「a + a」を実行した場合、数字の「1」なら「2」、文字列の「1」なら「11」が出力される。 変数aを数字とみなしていた開発エンジニアから見ると、「11」は想定と異なる結果だ。ミスした箇所を特定して修正する必要があるが、JavaScriptはコンパ