¿Por qué no hay sobrecarga de métodos en JavaScript?

El diseño mismo de JavaScript evita la sobrecarga de funciones. En un lenguaje como java, por ejemplo, el compilador verificará el número y los tipos de parámetros pasados ​​a una función y lo comparará con la firma de la función. Sin embargo, en JavaScript, la verificación de tipo de parámetros no ocurre en el momento de la compilación. De hecho, los parámetros no serán verificados por tipo, incluso en tiempo de ejecución, a menos que realmente se usen, e incluso entonces la verificación de tipo es extremadamente relajada.

Esto termina con el efecto de que las definiciones de múltiples funciones con diferentes parámetros no significan nada, ya que una función puede aceptar cualquier número de parámetros mientras se invoca.

Entonces, podría preguntarse, ¿por qué se diseñó JavaScript con un sistema de tipo (casi inexistente)? Debe recordar que fue diseñado e implementado en menos de quince días. El creador probablemente pretendía que se usara solo para agregar una interactividad mínima a una página, en lugar de las grandes aplicaciones complejas que escribimos hoy. Sin embargo, fue lo suficientemente potente como para extenderse y usarse para el tipo de cosas que hacemos hoy con él.

Por métodos de diseño en JavaScript se asigna al objeto (al objeto de ventana si se define en el ámbito global). Y los objetos no pueden tener múltiples propiedades con el mismo nombre.

Entonces, cuando intentas sobrecargar un método en JavaScript, reemplaza el anterior.

More Interesting

¿Cuál es la solución si mi instancia de AWS es lenta mientras recupero mi proyecto del servidor? ¿Debo actualizar mi servidor web Apache?

¿De qué trata la aplicación para el desarrollo de las TIC?

¿Cuánto HTML necesito saber para construir un sitio web simple?

¿Cuál es la mejor manera de averiguar si mi desarrollador ha utilizado AngularJS en el sitio web como me lo prometió? No soy un desarrollador web. ¿Hay algún truco del navegador que pueda usar para asegurarme de que el sitio web esté construido con AngularJS y PHP (ese era el requisito)?

Cómo mostrar 3 sitios web en una página web personalizada utilizando marcos HTML

¿Cuál es la mejor herramienta para ayudar a diseñar los elementos puramente funcionales de un sitio web?

¿Cuáles son las historias de trabajar con desarrolladores de Malasia en proyectos subcontratados en comparación con Europa?

¿Habrá muchos trabajos durante mucho tiempo para Javascript en el backend?

¿Existen 'ajustes culturales' que rodean cada lenguaje popular de desarrollo web? De ser así, ¿cuáles son?

¿Cuál es la diferencia entre tener un en el archivo HTML y tener el código JavaScript en la pestaña JS.script?

Se especializó en lengua francesa pero excelente en desarrollo web. ¿Es posible conseguir un trabajo en este último campo basado en años de experiencia y otras credibilidades?

¿Cuál es la mejor opción, SAP PI o desarrollo web?

¿Los filtros Laravel también funcionan en múltiples acciones de controlador?

¿Cuál es mejor elegir, diseñador web o analista de datos?

¿Qué es un procedimiento paso a paso para construir una plataforma similar a Kmikeym.com?