Firefox では RegExp って関数だったのね
関数とは
Function を new したものというイメージがありますが。厳密にはオブジェクトに
[[Call]]
という内部プロパティが、ある→「関数」、ない→「関数じゃない」、ということになっています。関数がオブジェクトかどうかはプロトタイプやコンストラクタとは無関係です。
つまり typeof は内部プロパティ Call を参照することによって関数か関数でないかを判断しているということなんです。
Function を new したものというイメージがありますが。厳密にはオブジェクトに
[[Call]]
という内部プロパティが、ある→「関数」、ない→「関数じゃない」、ということになっています。関数がオブジェクトかどうかはプロトタイプやコンストラクタとは無関係です。
つまり typeof は内部プロパティ Call を参照することによって関数か関数でないかを判断しているということなんです。