null
является объектом , и при тестировании с объектами (не в виде строки) сначала он преобразуется в строку, а затем выдает этот результат.
Вы можете попробовать с /Number/.test(Number)
или /String/.test(String)
, что также вернет true
.
Вероятно, String(null)
вызывается, то есть 'null'
String(Number)
даст
function Number() {
[native code]
}
и /function Number/.test(Number)
возврат true
тоже