Typescript を使っている時、真偽値(boolean)しか受け付けないものに undefined や null を代入しようとするとエラーになります。
type MyType = boolean;
const myvar: MyType = null;
-> Type 'null' is not assignable to type 'boolean'
Javascript では undefined や null は false に変換されるので、問題ないといえば無いですが、Typescript だと定義された型以外のものは警告が出るので、以下は falsy なものを false として扱いたいときに変換する方法です。
! (否定)を使う
undefined
や null
を!!
で二重否定とすると boolean
の false
になります。
エクスクラメーションマークを2つ連 続で使うだけなので短くて済みますが、意味を知らないとパッと見て分かりにくいです。
type MyType = boolean;
const myvar: MyType = !!null; // false
!
をつけることで、下記のような形で変換されます。
null
… null!null
… true!!null
… false
Boolean() を使う
Boolean()
の中に値を入れると、boolean に型変換することができます。
type MyType = boolean;
const myvar: MyType = Boolean( null ); // false