Qual é a diferença entre isnan () e number.isnan () em javascript?

A primeira coisa que você pode fazer é verificar em qualquer console do navegador se isNaN === Number.isNaN - que retorna falso a propósito. Então, qual é a diferença é quais são os argumentos.

isNaN é mais uma função global onde, como Number.isNaN, é executado no escopo de um número. Os programadores preferem usar isNaN a Number.isNaN pelo mesmo motivo. Que "isNaN" converte implicitamente os argumentos em um número onde, como "Number.isNaN", não. Como 'Number.isNaN' é entendido como sendo executado em números.

Por exemplo, isNaN ("javascript") retorna trueNumber.isNaN ("javascript") retorna false

Simplesmente, "Number.isNaN" adiciona mais um filtro para executar somente em números.

Se você quiser ver a execução interna, aqui está o polyfill -

Number.isNaN = Number.isNaN || function (number) {tipo de retorno do número === 'número' && éNaN (número);};