応用情報技術者試験 令和3年秋 午前問7 解説付き過去問
問題
静的型付けを行うプログラム言語では、コンパイル時に変数名の誤り、誤った値の代入などが発見できる。
Webプログラミングで用いられるスクリプト言語のうち、変数の静的型付けができるものはどれか。
正解
解説
この問題は、静的型付けをサポートするスクリプト言語を識別する能力を試すものです。静的型付けとは、変数や関数の型がコンパイル時に決定され、実行前に型の一貫性がチェックされることを意味します。
- 静的型付けと動的型付け
静的型付け言語では、プログラム実行前に変数の型が決定されます。これにより、型不一致によるエラーを早期に発見でき、実行時のエラーを減少させることができます。一方、動的型付け言語では変数の型が実行時に決まるため、より柔軟なコーディングが可能ですが、型関連のエラーを発見しにくくなります。 - TypeScriptの特徴
TypeScriptはJavaScriptに静的型付けとクラスベースのオブジェクト指向を導入した言語です。これにより、大規模開発が容易になり、コンパイル時に型のエラーを検出できる利点があります。TypeScriptは、JavaScriptのスーパーセットとして開発されており、任意のJavaScriptプログラムも有効なTypeScriptコードとなります。これが、静的型付けが可能なスクリプト言語としてこの問題の正解とされる理由です。 - 他の言語との比較
JavaScriptやECMAScriptは基本的に動的型付けを使用しています。VBScriptも同様に動的型付けを採用しているため、コンパイル時の型チェックは行われません。したがって、これらの言語は静的型付けをサポートしていないため、正解ではありません。
したがって、静的型付けが可能なスクリプト言語としてTypeScriptが正解です。これは、TypeScriptが型エラーをコンパイル時に検出できる能力を持つためです。