JavaScript

NaNとMap

先日、JavaScriptで以下の挙動になるのはなんでだろうねという話になった。 > m=new Map(); Map {} > m.set(Number.NaN, 0) Map { NaN => 0 } > m.set(Number.NaN, 1) Map { NaN => 1 } > m.set(Number.NaN, 2) Map { NaN => 2 } > Number.NaN === Number.Na…

Babelの勉強と称してmuscle-assertを作ってみる

私は型がないと死んでしまう(コンパイラと相談しないと考慮漏れが多発して死ぬ)ので、JS系を触る場合は主にTypeScriptなのですが、とはいえ昨今の事情的にBabelを食わず嫌いするのなぁ…と思ったのでライブラリとそれ用のpuluginを作ってみることにした。 …