Функция Lodash isNumber имеет дополнительное условие для проверки, является ли значение числом.Я не уверен, почему это требуется и в каком случае недостаточно просто использовать typeof value == 'number'
isNumber
typeof value == 'number'
function isNumber(value) { return typeof value == 'number' || (isObjectLike(value) && getTag(value) == '[object Number]') }
https://github.com/lodash/lodash/blob/aa1d7d870d9cf84842ee23ff485fd24abf0ed3d1/isNumber.js
По вашей ссылке:
Проверяет, классифицируется ли value как Number примитив или объект .
value
Number
var n = new Number(3); console.log(typeof n); // "object" console.log(_.isNumber(n)); // true
MDN - номер :
Объект Number JavaScript представляет собой объект-оболочку, позволяющий работать с числовыми значениями. Объект Number создается с помощью конструктора Number (). Номер объекта типа примитива создается с помощью функции Number ().
Хотя функция Number() создаст числовой примитив, конструктор Number() создаст объект Number:
Number()
typeof Number(0) // 'number' typeof new Number(0) // 'object'
Проверка Лодаша для обоих случаев.