意外と知らない? 動的型付けと型推論の違い
公開日: Apr 26, 2024
最終更新日: Apr 26, 2024
この記事はあくまで初心者向けです。
かみ砕いて説明しているため中級者や上級者の方からすると多少イライラする部分があると思いますが、お手柔らかにしていただけると幸いです。
違いとしては変数の宣言後の代入時に型が変わるか否かです。
まず以下のJavaScriptのコードを見てください
let a = 123;
a = "hello";
console.log(a);
JavaScriptは動的型付けなので、代入時に型が変わります。
なので最初に数字を代入しても、後から文字列を代入できるんです。
いっぽうTypeScriptでは動的型付けではなく型推論なので、JavaScriptのようなことはできません。
実際に実行すると以下のようなエラーが出てしまいます。
E:\codes\article> tsc index.ts
index.ts:3:1 - error TS2322: Type 'string' is not assignable to type 'number'.
3 a = "2344324"
~
Found 1 error in index.ts:3
要するに最初にaに数字を代入しているのでaはnumber型になっています。
なので後から文字列を入力しようとするとエラーが出てしまうのです。
これが型推論です。
自分は他にもいろいろな記事を書いているので見ていただければ幸いです。
変更点等ありましたら、下記のTwitterアカウントに問い合わせしていただければ幸いです。