Polyglot とは、複数のプログラミング言語 (あるいはより一般に、何らかのファイルフォーマット) で解釈できるプログラムのことで、多言語話者にちなんでこの名前がつけられています。Polyglotはしばしば、プログラミングに関する非実用的な探求として遊ばれます。 TypeScriptはJavaScriptのスーパーセットであるため、JavaScriptコードは自然にJavaScriptとTypeScriptコードのpolyglotとみなせます。しかしこれでは面白くないので、本稿では以下の条件を満たすpolyglotを提示します。 JavaScriptとして実行したときと、TypeScriptとして実行したときで、全く異なる処理が実行されること。 TypeScriptとして型エラーが生じないこと。 答え 本稿で提示する解答例は以下のコードです。 new (f())<0>/[/*]/ fu

