2018年06月30日

TypeScriptのジェネリック

TypeScirptのジェネリックは以下のように関数実行時に型を定義すると関数内で型を利用できる。

function sample1<T>(arg: T): T {
return arg
}
sample1<string>('string')
sample1<number>(1)


型推論が行われるため必ずしも実行時に明示的に型を指定する必要はない

sample1('string')
sample1(1)


関数式の場合は上記のように定義できるけど、関数リテラルの場合か以下のように定義します。

const sample2: { <T>(arg: T): T } = arg => {
return arg
}
sample2<string>('string')
sample2<number>(1)


interfaceを利用して以下のように定義することもできる

interface MyFuncParam<T> {
(arg: string): T
}
interface MyFuncResponse {
type: string
text: string
}
const sample3: MyFuncParam<MyFuncResponse> = text => {
return {
type: 'aaaa',
text
}
}
sample3('foo')
posted by ねこまんま at 01:54 | Comment(0) | TypeScript | 更新情報をチェックする

2017年01月09日

TypeScriptの基本

TypeScriptの環境作成方法。続きを読む
タグ:TypeScript
posted by ねこまんま at 16:55 | Comment(0) | TrackBack(0) | TypeScript | 更新情報をチェックする

TypeScriptのas

TypeScriptのasオペレーターというのがあってハマった。このググラビリティの低いワードどうかにかして欲しい。続きを読む
タグ:as TypeScript
posted by ねこまんま at 14:56 | Comment(0) | TrackBack(0) | TypeScript | 更新情報をチェックする