📝型システム(Type System)をもつ📝JavaScript.

特徴

特徴的な機能

JavaScriptから強化された機能.

  • アロー関数
  • 分配束縛
  • テンプレートリテラル

Why TypeScript

なぜTypeScriptなのか? いろんな意見を収集.

JavaScriptで書かれたライブラリはTypeScriptでつかえる

JavaScriptエコシステムに乗っかることができる.

TypeScriptは大規模開発に最適な言語

TypeScriptの歴史的採用の経緯では, 大規模開発でのメリットが採用の決めてだった.

  • 型による静的チェック
  • モジュール性
  • 緩やかな学習コスト

負の面をいえば, フロントエンド開発をしようとした時, 現実的な選択肢はJavaScriptとTypeScriptくらいしかなく, JavaScriptへの失望からTypeScriptを採用するケースがある.

ref. なぜTypeScriptを使うべきか | TypeScript入門『サバイバルTypeScript』

クラスを使ってオブジェクト指向開発ができる

銀の弾丸ではないTypeScriptを、何故使うべきなのか - Qiita

強力な型推論

ライブラリを使う側はあまり型注釈を書かない. それは📝型推論があり, いい感じにコンパイラが型を推論してチェックする.

ref. 【TypeScriptの魅力を語る】優秀な型推論が「つよいシステム」を作るのだ|朝日新聞社 メディア研究開発センター

VSCode連携による強力なコード補完/エラーチェック

📝VSCodeはTypeScriptで書かれていて, コード補完機能が秀逸. ドットを押すといろいろ補完候補が表示される.

またバックグラウンドでコンパイルチェックをしてエラー表示してくれる.

<2025-03-13 Thu 08:33> わたしの記憶ではVSCodeがライジングしてきたとき、TypeScriptとVSCodeの相性がよすぎるとできる武蔵小杉のフリーランスエンジニアがいっていた.

TypeScript文法

アロー関数

アロー関数 vs function

どっちがいいの?

🔧neverthrow

TypeScriptで📝Result型を実現するためのモジュール.

https://github.com/supermacro/neverthrow

TypeScript 型システム

TypeScriptの型についての知識をまとめる.

型定義ファイル

declaration source file. TypeScriptの型を定義するファイル. d.tsのような拡張子.

DefinitelyTyped

TypeScript 用の型定義リポジトリ.

https://github.com/DefinitelyTyped/DefinitelyTyped

TypeScript開発ツール

🔧TypeScriptトランスパイラ(tsc)

TypeScript->JavaScriptの📝トランスコンパイラ.

  • tsconfig.json: 設定ファイル.
  • —noEmit: 型チェックのみ実行.

ts-node

Lint

文字リテラルのシングルクオートダブルクオート問題

機能的には同じなので好み次第.

  • 一般的に統一したスタイルを使うことが推奨.
  • JSONはダブルクォート ” 必須なので、JSONデータを扱う場合は ” を使うことが多い.
  • JavaScriptのスタイルガイド(例: AirBnBスタイルガイド)ではシングルクォート ’ を推奨していることが多い.

🔗References