TypeScript では戻り値の型は型推論が有効な場合には省略もできるけど、 引数の型は必ず指定する必要がある

関数の型定義

ジェネリクスを用いる記法

> const toArray = <T>(arg1: T, arg2: T): T[] => [arg1, arg2];

> toArray(8, 3);[ 8, 3 ]

> toArray('foo', 'bar');[ 'foo', 'bar' ]

TypeScriptで可変長引数を実践した例

> const toArrayVariably = <T>(...args: T[]): T[] => [...args];

> toArrayVariably(1, 2, 3, 4, 5);[ 1, 2, 3, 4, 5 ]

Typescript のクラス

jsと似ていて少し違う部分がある