Type Alias (型エイリアス)
複雑な型や、特定の文字列の組み合わせに名前を付けて再利用しやすくします。
// 'yes' か 'no' のどちらかしか代入できない型を定義
type Answer = 'yes' | 'no';
let res: Answer;
res = 'yes'; // OK
// res = 'maybe'; // エラー
Type Assertion (型アサーション)
コンパイラが判断できない詳細な型を、開発者が「この型である」と明示する機能です。as キーワードを使います。
// 一般的なHTMLElementを、より詳細なinput要素として扱う
const input = document.getElementById('user-input') as HTMLInputElement;
// HTMLInputElement専用のプロパティにアクセス可能になる
console.log(input.value);
Template Literal (テンプレートリテラル)
バッククォート (`) を使い、文字列内での変数展開や改行を容易にします(ES6以降の機能ですが、TSの型システムとも深く関わります)。
const name = 'Ken';
const msg = `Hello, ${name}!
Welcome to TypeScript world.`;