Typesを網羅的にif文やswitch文で処理しているかどうかをコンパイラでチェックすることができる。Reducerを例に説明する。caseにてtypeプロパティで判別して処理している。caseにてActions.Actionsのすべてのtypeに対して漏れなく処理していることをコンパイラレベルで検出しよう、というのが今回の話。'SET_COUNT':の時の処理をまるっと消してみる。何もチェックは働かずコンパイラはエラーを検出することはできない。次にnever型を使ってみた場合。使い方は、下記のようにnever型の変数にaction変数をアサインする処理を追加する。'SET_COUNT':の処理を消すと...このように、never型にアサイン不可のためコンパイラによりエラーが検出される。Actions.Actionsのすべてのtypeプロパティに対して処理をしている場合はここは到達不可能となり、actionはnever型になる。よってnever型の変数へのアサインではエラーにならなくなるというわけだ。2.0では不足時のチェックは働くが、すべての条件を網羅的に書いた時もコンパイラエラーが出てしまうようで駄目でした。2.1だと上記の誤検知エラーはなくなり大丈夫でした。Diveで紹介されていました。基盤サービス」の4事業でお客様のビジネスや快適な社会、暮らしを支えています。※各記事の内容は個人の見解であり、所属する組織の公式見解ではありません。upLoginユーザーは見つかりませんでした。