mizulba3か月前 00型アサーション(as)で enum 検証を実質無効化しないようにするTypeScriptデータベース外部入力やDBから取得した文字列を value as SomeEnum で受けると、想定外の文字列もコンパイルを通過して検証が無効化される。特にDBカラムが varchar など enum 制約でない場合、不正データの防御にならない。防御を効かせたいなら DB 側を NULL 許容も含めた enum 制約にする、もしくは実行時バリデーションを挟む。as は型検査を回避するだけで実データの正しさは担保しないと意識する。