TypeScript が order ID が必要な場所に user ID を通してしまった
TypeScript の型エイリアスは区別された型を作らない。ブランド型は作る。コンパイル時に識別子を混同するのを防いでくれる。
先四半期、私たちは間違った顧客に返金してしまうバグをリリースした。 関数は、order ID を期待していた箇所に user ID を受け取った。文字列は同じに見え、テストは通り、TypeScript は何も指摘しなかった。 両方の識別子は として型付けされていた。TypeScript は両者の違いを見ない。 を…