typeof 演算子

最終更新:2026-10-13

typeof 演算子

カテゴリ演算子

⚙️ 引数

操作数

元の値を変更するか:いいえ(新しい値を返す)

⚠️ 警告
💡 ヒント

🌐 ブラウザ対応

ブラウザ ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
typeof ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v1
すべてのモダンブラウザで対応
さらに多くのケースは近日公開予定です。

📚 関連チュートリアル

❓ よくある質問

Qtypeof null が "object" になるのはなぜですか?
A最初期の実装の名残です。当時、値は32ビットで保存され、下位ビットを型タグに使っていました。null は全ビットが0で、それがちょうど型タグのなかでオブジェクトの領域に当たってしまったのです。標準化で直すには、すでにあまりに多くの初期のウェブコードがそこに依存していました。null の判定は x === null を使いましょう。
Qtypeof は配列とオブジェクトを区別できますか?
Aできません。配列、通常のオブジェクト、日付、正規表現はすべて "object" を返します。見分けるには Array.isArray(x)、x instanceof Date、または Object.prototype.toString.call(x) を使いましょう。
Q宣言されていないかもしれない変数は、どうやって判定すればいいですか?
Atypeof someVar !== "undefined" が唯一安全な書き方です。if (someVar) と直接書くと、名前が未宣言のときは ReferenceError を投げます。一方 typeof は未宣言の名前にも単に "undefined" を返し、実行を止めません。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%