データ型と型判定(プリミティブとオブジェクト, typeof, 暗黙の型変換)

スポンサーリンク
JavaScript

【実務・中級編】 NaN(Not-a-Number)の特性と判定 – JavaScript実践ガイド

現場でコードを書いていると、「数値だと思っていたものが、実は数値じゃなかった」というバグに何度泣かされたことか。今回は、JavaScript界の「厄介者」でありながら、避けては通れない`NaN`(Not-a-Number)の話をしよう。中級...
JavaScript

【実務・中級編】 TruthyとFalsyの概念 – JavaScript実践ガイド

JavaScriptの「Truthy」と「Falsy」:型判定の深淵を覗く現場でコードレビューをしていると、必ずと言っていいほど「なぜこのif文は期待通りに動かないんだ?」という相談が持ち込まれます。その原因の8割は、JavaScriptに...
JavaScript

【実務・中級編】 Object.prototype.toString.call()による型判定 – JavaScript実践ガイド

現場で泣かないための「型判定」:`typeof`の限界と`Object.prototype.toString.call()`の正体現場でコードレビューをしていると、今でも時折、型判定で深みにハマっているコードに出くわす。特に、APIから流れ...
JavaScript

【実務・中級編】 Symbol型のユニークな識別子 – JavaScript実践ガイド

JavaScriptの「Symbol」を使いこなす:一意性がもたらす安全なアーキテクチャ現場でコードを書いていて、「プロパティ名の衝突」に悩まされたことはないだろうか?大規模なアプリケーション開発において、サードパーティライブラリとの連携や...
JavaScript

【実務・中級編】 BigInt型の仕様と制限 – JavaScript実践ガイド

フロントエンドの現場で、「なぜか計算結果が微妙にズレる」「バックエンドから来た巨大なIDを扱ったら末尾が0になった」といった悪夢に遭遇したことはないだろうか?JavaScriptの`Number`型は、IEEE 754という浮動小数点数規格...
JavaScript

【実務・中級編】 undefinedとnullの厳密な違い – JavaScript実践ガイド

JavaScriptの「何もない」の正体:undefinedとnullを使いこなすプロの流儀現場でコードレビューをしていると、`if (value == null)` と書くべき場所で `if (!value)` と書いてバグを生んでいるシ...
JavaScript

【実務・中級編】 明示的な型変換(型キャスト) – JavaScript実践ガイド

「とりあえず動く」から「事故らない」へ。JavaScriptの型変換を支配する技術フロントエンドの現場でコードレビューをしていると、今でもたまに見かけるのが「なんとなく型変換して、たまたま動いているコード」だ。`if (user.id ==...
JavaScript

【実務・中級編】 暗黙の型変換(Type Coercion)のルール – JavaScript実践ガイド

JavaScriptの「暗黙の型変換」という名の魔窟を解体するフロントエンドの現場で、「なぜかバグった」というチケットの半分は、JavaScriptの暗黙の型変換(Type Coercion)に起因していると言っても過言ではありません。`i...
JavaScript

【実務・中級編】 instanceof演算子によるプロトタイプチェーン判定 – JavaScript実践ガイド

「instanceof」はなぜ裏切るのか?プロトタイプチェーンの深淵を覗く現場でコードレビューをしていると、`typeof` で判定できない複雑なオブジェクトを扱う際に、安易に `instanceof` を使って「型チェック」をしているコー...
JavaScript

【実務・中級編】 typeof演算子の挙動と制限 – JavaScript実践ガイド

やあ。フロントエンドの沼へようこそ。現場でコードを書いていて、「なぜこの条件判定がバグるんだ?」と頭を抱えた経験はないかな。JavaScriptという言語は、その柔軟性の裏側に、歴史的な遺物とも呼べる「地雷」をいくつか隠し持っている。特に ...
スポンサーリンク