JavaScript でさあ
変数 value が null でも undefined でもない事を確認するのに
if (value) { console.log('null でも undefined でもねーわ'); }
これほんとやめろって。
おかげで value に 0 とかが入ってる時に、このコンディションが false になるわけだ。
色んな会社さんのコード見てきたけど、このタイプのバグ本当に多い。
昨年は、世界的にも有名な会社さんのフレームワークがこれでバグってた。
でももう既にシステムの一部は本番稼働しててフレームワークはいじれない。
仕方ないので value には一旦文字列の '0' を渡しておいて if (value) {~} の中の重要なロジックを動かして
(めっちゃ幸運な事に、数値 0 のかわりに文字列 '0' でも正しく動くような、型について緩いロジックだったから)
その後で改めて value に数値 0 を入れなおすという、きったないハックで誤魔化した事もある。
建築の世界では豆腐を建材にしない。
😷ワイもJavaScript始めた時にこのバグやらかしたやで
JavaScriptが悪いんやぞ。 Wasm中心のエコシステムが普及するまで適当にお茶を濁すしか無い。
このコードにはいくつかの問題点があります: 1. **条件式の曖昧さ**:JavaScriptでは、`if (value)` は `value` が「truthy」(真と評価される値)である場合にのみ実行されます。しかし、このコ...
これどう対処するのが適切なんだろうね。 自分は nullチェックのときだけ厳密等価を使わないで比較している console.assert(null == null, true)console.assert(undefined == null, true)console.assert(0 == null, tru...