😖

TypeScriptで型安全性を破壊する方法をまとめたリポジトリを作った

2020/12/20に公開

実用的な静的型付き言語には、たいていの場合危険なことをするバックドアが存在するものですが[1]、TypeScriptには一見してわからない場所にバックドアが存在するという特徴があります。

というわけで、様々な方法でunsafe_cast<T, U>(x: T): Uを書いてみました。便利。

https://github.com/todesking/unsafety-zoo.ts/tree/master/src

謝辞: テクニックの多くはtkr氏の記事に依っています。
https://kgtkr.net/blog/2018/06/23/typescript-unsafe

脚注
  1. ScalaのasInstanceOf[T], HaskellのunsafeCoerce, OCamlのObj.magic, ... ↩︎

Discussion