Intenté comparar dos funciones que realizan la misma tarea:
Number.prototype.getReverse = function() { let reverseNum = 0 let num = this while(num > 0) { reverseNum = (10 * reverseNum) + (num % 10) num = Math.floor(num / 10) } return reverseNum } const numb = 1234567 console.time() console.log(numb.getReverse()) console.timeEnd() function getReverseNum(num) { let reverseNum = 0 while (num > 0) { reverseNum = (10 * reverseNum) + (num % 10) num = Math.floor(num / 10) } return reverseNum } console.time() console.log(getReverseNum(numb)) console.timeEnd()
El prototipo del objeto Number tomó mucho más tiempo:
7654321 default: 0.42ms 7654321 default: 0.109ms
Tenía curiosidad por saber si alguien podría saber por qué es esto. ¿Tiene que ver con la forma en que JavaScript accede a la función a través del objeto Número?