¿Para qué sirve JavaScript?

Bueno, JavaScript es uno de los idiomas (si no el actual) más populares del mundo. Mucha gente usa las clasificaciones de idioma Github como una estimación razonable de esto.

Si desea hacer algo en el navegador, casi tiene que usar JavaScript (o algo que se compila en JavaScript). Con NodeJS ahora puede escribir JavaScript del lado del servidor que solo se ha agregado a la popularidad de JavaScript. Entonces, en un nivel alto, si se pregunta para qué sirve JavaScript, mucha gente podría decir razonablemente: “¡MUCHO!”

Personalmente, no soy un gran admirador … bueno, en realidad no soy un admirador en absoluto … de JavaScript y no estoy solo. Pero eso no significa que tenga razón.

También creo que se han realizado algunos proyectos realmente geniales en JavaScript.

Entonces, para comenzar con qué JavaScript podría ser mejor que … digamos otros idiomas, destacaría el hecho de que JavaScript es un lenguaje basado en prototipos (en lugar de un lenguaje basado en clases uno). También es uno de los únicos lenguajes basados ​​en prototipos que conozco / con los que he trabajado personalmente.

No soy un experto en idiomas, pero según tengo entendido, los prototipos pueden ser beneficiosos de dos maneras:

  • Comportamiento en tiempo de ejecución fácilmente modificado
  • Recurso eficiente (algo relacionado con el primer punto)
  • Objetos más flexibles

[Detalles del modelo de objetos]

Nuevamente, no soy un experto, así que te dejo que hagas más investigaciones por ese camino … pero sería mi opinión inicial al responder tu pregunta en general.

JavaScript es bueno para el desarrollo de juegos. Puede trabajar con toneladas de framework y construir el juego de sus sueños para múltiples dispositivos. Desde teléfonos y relojes inteligentes hasta computadoras y consolas.

También es bueno para sitios web dinámicos. Puede usar AJAX para enviar datos de forma asincrónica entre el cliente y el servidor sin actualizar o usar Angular (ahora, está en la segunda versión) para construir sus sitios web y aplicaciones de manera rápida y ágil.

Ahora con JavaScript puedes construir backend para tu sitio web en Node.js. Es utilizado por LinkedIn, PayPal, Yahoo y Walmart. Es un marco del lado del servidor extremadamente optimizado, ligero y rápido.

Javascript es muy útil para hacer que las páginas web sean dinámicas. Por ejemplo, sin Javascript. Digamos que tengo una página.

Tengo que hacer clic en un botón para enviar, seguro que puede enviar toda la página y no requiere JavaScript, pero la Web 2.0 nunca lo aceptaría, esa página apesta.

Supongamos que desea validar un formulario antes de enviarlo, es Javascript. Claro que puede enviarlo y validarlo en el back-end, pero eso requiere un segundo viaje de regreso al cliente si hay un error.

Cada vez que desee autoetiquetar al completar un valor de formulario como, por ejemplo, un número de teléfono, tiene 3-3-4 de longitud de caracteres para cada espacio, suponiendo que lo divida en 3 campos de entrada. Cuando haya terminado el campo del código de área, puede usar javascript para configurar un controlador de eventos para consultar el número de caracteres y, si es 3, establecer el foco en la segunda entrada.

Todo lo que AJAX es javascript.

Por lo general, cada vez que escribo aplicaciones, tengo un lado del servidor para las cosas en Java, PHP o lo que sea, un lado HTML / CSS de las cosas donde configuro la UI / Vista y cómo deberían verse las cosas, y el lado Javascript que refleja exactamente del lado del servidor: si hay un objeto Person en el lado / back-end de Java, hay una clase JavaScript de Person definida y una entrada / select / textarea para cada campo en Person. Hay métodos / funciones / controladores de eventos para manejar todo, desde que alguien presiona “Nueva persona” hasta alguien dice “Borrar a todas las personas” y, por lo general, la página nunca se carga más de una vez, a menos que vaya a una página totalmente diferente, como una página de Empresas, entonces use la clase Company en Java y javascript y así sucesivamente.

También es bueno en el desarrollo de juegos, como dice Dominik también y las secuencias de comandos.