TypeSceipt学習。
基礎の基礎から。

変数に型をつける

コロンの後に型を指定する。

const stringTest:string = 'aaa'

const numberTest:number = 123

const isValid:boolean = true

配列に型をつける

配列に型をつけるパターンは3つ。
①配列の中の型が全て同じ
②ユニオン型(型が複数あっていずれか)
③タプル型(順番をつけて順番通りに設定)

const arrayTest1:string[] = ['aaa', 'bbb']
arrayTest1.push('ccc')

//ユニオン型
// 文字か数字が入る
const arrayTest2:(string | number)[] = ['aaa', 123]
arrayTest2.push(456)

//タプル型
// 指定した順番通りに入れないとエラー
const arrayTest3: [string, number, boolean] = ['aaa', 123, true]

関数に型をつける

引数(インプット)と戻り値に型をつける。戻り値がない場合はvoidとつける。

const arrowFuncTest = (str: string, int: number) : void => {
    console.log(`文字は${str}、値は${int}`) 
}
arrowFuncTest('aaa', 123)

オプション引数

渡す引数を省略できる。

//引数省略
const funcTestQ = (str: string, int? : number) : void => {
    console.log(str, int)
}
funcTestQ('HELLO')
// int引数を渡してないがエラーにならない
// HELLO undefined

エラーにはならないが何も渡ってこないため結果はundefinedとなる。
つまりオプション引数の型は、型とundefinedのユニオン型となる。

オプション引数は、型がundefinedとのユニオン型になるため、そのままでは使えないため、多くの場合はデフォルト値を設定する。

// デフォルト値指定
const funcTestE = (str: string, upper: boolean = false) => {
    if (upper) {
        return str.toUpperCase();
    } else {
        return str.toLowerCase();
    }
}
console.log(funcTestE('hello'))
// hello

【その他】基本の型

any型

型チェックを無効化するため、any型に入った値に対しては、コンパイルエラーが発生しない。
つまり、any型にはなんでも入れられるため、ランタイムエラーが発生する可能性が高い。
→typeScriptの意味がなくなるので、極力使用しない

unknown型

anyと同じでなんでも入れられる型。中に何が入っているかわからない。
anyとの違いは、「中身が不明」なのでできることが限られている。(val.nameのようなアクセスができない)
→unkouwnの使用方法は基本的にはtypeof演算子による型の絞り込みを行う。

bitint型

number型で扱えないような大きな数値でも誤差なく表示ができる

c.sakyou

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA