広告スペース(バナー)
🟨JavaScript レッスン
基本文法の基礎8
データ構造とオブジェクト指向8
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 52 / 69

型を問わない汎用の関数

このレッスンでは、JavaScriptが動的型付け言語であることを活かした汎用的な関数の書き方を学ぶことを目標にします。「JavaScript 動的型付け とは」「JavaScript 汎用関数」で調べている方向けの内容です。

JavaScriptは動的型付け言語なので、関数は基本的にどんな型の値でも受け取れます。「型を1つに決めない、汎用的な関数」を書くことで、数値にも文字列にも同じロジックを使い回せます。TypeScriptのような静的型付け言語と比較されることの多い、JavaScriptならではの柔軟性です。

サンプルコードでは、larger(a, b)という関数が、数値の比較にも文字列の比較にも同じロジックで対応しています。>演算子は数値同士なら大小を、文字列同士なら辞書順(アルファベット順)の比較を行うため、同じ関数のまま異なる型のデータに使い回せています。

柔軟な反面、意図しない型が渡されてもエラーにならず不具合につながることもあるため、関数の中で型を確認する習慣も同時に身につけておくとより安全なコードになります。数値と文字列を比較しようとした場合など、予想外の型の組み合わせで意図しない結果になることもあるので注意しましょう。

TypeScriptのような型付き言語を学ぶ際に、この違いをより強く意識することになります。実務の大規模開発では、型のチェックを厳密に行うためにTypeScriptを採用するプロジェクトも多く、JavaScriptの柔軟性とのトレードオフを理解しておくことは今後の学習にも役立ちます。

JavaScript
OUTPUT / 実行結果

💡 console.log() の内容が実行結果に表示されます。

🎯
ここまでできればゴール達成!
型を問わず使い回せる、便利な比較関数が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)