Estoy tratando de aprender JavaScript. Para utilizar algunos métodos del objeto Number en Developer Mozilla , es necesario escribir un .prototype. ¿Qué significa prototipo aquí y por qué debería usarse? ¿Puede dar una explicación adecuada para alguien nuevo en el lenguaje de programación?
Algunos comentaristas lo dirigieron a recursos con más información sobre prototipos en JavaScript, y también hay más información sobre el tema en las respuestas a esta pregunta de StackOverflow .
Sin embargo, intentemos dar una respuesta simple a la pregunta que nos ocupa.
Debe tenerse en cuenta que, si bien los métodos de prototipo son muy comunes de usar, rara vez se escribe explícitamente algo como Number.prototype .
En JavaScript, cada objeto (incluidos los objetos que representan valores primitivos como números) tiene un objeto prototipo del que hereda propiedades y métodos. El prototipo es casi siempre un objeto real, aunque también puede ser Null .
Los valores numéricos, como 0 o 235.5 , tienen el objeto Number como prototipo.
Ahora, puede ser un poco confuso, pero Number.prototype no se refiere al prototipo del objeto Number . En cambio, es lo que proporciona el objeto Number cuando se usa como prototipo, para sus objetos de instancia. Entonces, si, por ejemplo, escribe (23).toLocaleString() 1 , entonces está llamando al método toLocaleString del objeto 23 , que lo hereda del objeto Number .
1: La razón por la que tenemos que agregar paréntesis alrededor 23 es porque el . de lo contrario, se interpretaría como un punto decimal, lo que daría como resultado un error de sintaxis. Otra opción sería escribir 23..toLocaleString() donde el primer punto sería un punto decimal final ( 23. es una forma válida de escribir 23 en JavaScript) y el segundo punto se usaría para el acceso a la propiedad.