JavaScript ¿Qué es? 🤔 y ¿Con que se come? 🤤
Published: 2023-12-08 05:35:18

Si estas estudiando alguna ingeniería, estas en algún **bootcamp**, seguramente habrás escuchado algo acerca de **JavaScript** _(JS)_ 👀, quizás no.
Pero si es que no sabes nada acerca de este lenguaje o simplemente quieres reforzar algunos conceptos básicos entonces…, llegaste al lugar correcto. 🤗

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7fvl8t1pvchb9xmu7qkc.png)

**Vamos por partes 🔪 ¿Qué es JavaScript?**

El estándar para JavaScript es _ECMAScript (ECMA-262)_ y la especificación de la API para la Internacionalización de _ECMAScript (ECMA-402)_.

Básicamente es un lenguaje de programación ligero, interpretado ó compilado Justo a tiempo _(just-in-time)_ con funciones de primera clase, principalmente lo utilizamos nosotros los mortales para hacer páginas webs interactivas, es conocido como un lenguaje de **scripting** _(Secuencia de comandos)_ para páginas web y también es utilizado en muchos entornos fuera del navegador.

Recuerda que JavaScript es un lenguaje de programación basado en prototipos, multiparadigma, de un solo hilo🧵, dinámico y admite estilos de programación orientado a objetos, imperativos y funcionales.

**Momento para un anunció importante:**

> “Y recuerden amigos, JavaScript no es “Java Interpretado” Java es un lenguaje de programación Orientado a Objetos, mientras que Java Script es un lenguaje de scripts Orientado a Objetos”.

_Y quien lo vuelva a confundir que venga y nos damos en… no cierto…_

Ahora sigamos…

**¿Cómo funciona JavaScript?**

JavaScript se clasifica principalmente como un lenguaje de scripting o interpretado, es decir, directamente traducido a código de lenguaje maquina subyacente mediante el motor de JavaScript.

**Nota mental:** Todos los lenguajes de scripts son lenguajes de programación, pero no todos los lenguajes de programación son lenguajes de scripts.

**Motor de JavaScript:**

Es el responsable de interpretar las instrucciones de código JavaScript y emplear procesos conocidos como **JIT Compiler** es el **V8 Engine**.

El motor **V8** de Google convierte las instrucciones de JavaScript en una lista de tokens, que posteriormente va a producir un Abstract Syntax Tree, representando simplificadamente el código fuente escrito en Javascript (en este caso), en un árbol de estructura. Posteriormente a esto, pasará por el intérprete, que es el que generará Bytecode y luego interpretará este Bytecode para poder ejecutarlo.

**🙀 ¿JavaScript del lado del Cliente?**

JavaScript del cliente se refiere a la forma en que JavaScript funciona en el navegador. En este caso, el motor de JavaScript está dentro del código del navegador. Todos los principales navegadores web incluyen sus propios motores de JavaScript incorporados.
Los desarrolladores de aplicaciones web escriben código JavaScript con diferentes funciones asociadas a varios eventos, como hacer clic con el ratón o situar el ratón sobre un elemento. Estas funciones realizan cambios en HTML y CSS.

**🙀 ¿JavaScript del lado del Servidor?**

JavaScript del lado del servidor hace referencia al uso del lenguaje de codificación en la lógica del servidor de backend. En este caso, el motor de JavaScript se encuentra directamente en el servidor.
La ventaja principal del scripting del lado del servidor es que admite un alto nivel de personalización de la respuesta del sitio web según sus requisitos, sus derechos de acceso y las solicitudes de información provenientes del sitio web.

**¿Bibliotecas 📚 de JavaScript?**

Y no, no hablamos de libros ¿o sí?, más bien son colecciones de fragmentos de código escritos previamente, el código de las bibliotecas se conecta al resto del código del proyecto según sea necesario.

_Veamos las más comunes:_

_Para visualizar datos:_ Bibliotecas como **Chart.js, ApexCharts y Algolia Places** cuentan con funciones integradas que puede utilizar para crear aplicaciones web que muestren datos en gráficos y mapas.

_Para manipular el DOM:_ **jQuery y Umbrella JS** nos facilita el desarrollo web, ya que brindan código para funciones estándar de sitios web.

**Beneficios de JavaScript**

_Manipulación sencilla del DOM:_ JavaScript agiliza el acceso y la manipulación de elementos del DOM, es decir, te ayuda a cambiar el contenido, estilo y atributos de los elementos en respuesta a eventos.

_Simplicidad:_ Posee una estructura sencilla que lo vuelve más fácil de aprender e implementar.

_Popularidad:_ JavaScript esta por todas partes de la web, y Node.js, se ha incrementado su uso en backend.  Así que mientras más comunidad tenga algo, es más sencillo aprenderlo, encontrar la respuesta a algún errorcillo que estes tratando de solucionar.

**¿Y las desventajas?**

> Obviamente no las tiene, **JavaScript** es perfecto, bromita…

_Veamos algunas…_

_Soporte del navegador:_ Algunas veces, diferentes navegadores pueden interpretar el código de JavaScript de manera distinta, así que no olvides comprobar tu código en todos los navegadores que conozcas, o al menos en los más comunes.

_Bajo rendimiento en aplicaciones complejas:_ Esta herramienta es un lenguaje interpretado, lo que puede afectar el rendimiento en comparación con lenguajes compilados.

_Lenguaje de tipado débil:_ Es decir, no permite al programador definir el tipo de las variables. Una variable puede almacenar cualquier tipo de datos durante el tiempo de ejecución, y las operaciones asumen el tipo de variable.

Y pues ya, es todo lo que tengo que decir acerca de JavaScript, aunque podría hacer un articulo con miles de cosas más…. 

Un 🍫 de regalo por si llegaste a este punto.