ワイワレ速報

eye-catch.jpg

typeof x > 'u' は typeof x === 'undefined' より小さいけど遅い

2025/08/31 21:50

ずん

ねぇねぇ、ボクの会社のコードが遅くなってるみたいなのだ。typeof x > 'u'っていうのが原因らしいのだ。

でぇじょうぶ博士

ほう、それは興味深い話でやんす。これはJavaScriptのminificationによって起きた問題でやんす。typeof x === 'undefined'という正しい書き方が、圧縮されて typeof x > 'u'になってしまったでやんすな。

やきう

なんやそれ。ワイでも'undefined'の方が'u'より長いの分かるで。圧縮して当然やろ。

でぇじょうぶ博士

そこが罠でやんす。JavaScriptCoreは元の書き方に対して特別な最適化をしているでやんす。圧縮版はその恩恵を受けられないでやんす。

やきう

ファッ!?そんな罠があるんか。でもコード量減るんやろ?

でぇじょうぶ博士

確かにファイルサイズは小さくなるでやんす。しかし実行速度は2.3倍も遅くなってしまうでやんす。

ずん

えぇ!じゃあボクのアプリ、損してるってことなのだ?

でぇじょうぶ博士

そうでやんす。esbuildという人気のツールがこの最適化をしているでやんす。多くの開発者が気付かないうちに遅くなっているでやんす。

やきう

ワイならそんな細かいとこ気にせんで、さっさとリリースするで!

でぇじょうぶ博士

それは危険でやんす。パフォーマンスは重要でやんす。特にモバイル環境では致命的でやんす。

ずん

じゃあボク、全部手書きでコード書くことにするのだ!