memo
TypeScript

自分用メモ: Typescriptの!と?とnullの使い分け


!

ライブラリとかによって絶対に挿入されるパラメータにつける。

リンク


所感

Vue.js2.5.16の$refsとかに重宝しそう。

サンプル

@Component

export default class LoginPage extends Vue {
public $refs!: {
form: VForm,
}
}

これで$refsに型がついた。


? 呼称: Optional Parameters

これは任意引数とかによく使う。

挿入されなかったらundefinedになる。

lastName: string | nullと意味合いは全く違う

サンプル

function buildName(firstName: string, lastName?: string) {

if (lastName)
return firstName + " " + lastName;
else
return firstName;
}

let result1 = buildName("Bob"); // works correctly now
let result2 = buildName("Bob", "Adams", "Sr."); // error, too many parameters
let result3 = buildName("Bob", "Adams"); // ah, just right


?と | nullの使い分け

デフォルト値として使うならany | nullとか。?ではない。


所感

コード直さないとなぁ。。。