Introducción al lenguaje JavaScript - ECMAScript y Vanilla Javascript

Author
Por Darío Rivera
Publicado el en Javascript

JavaScript es un lenguaje de programación dinámico, multiparadigma, basado en prototipos y orientado a objetos, comúnmente utilizado en entornos web para el desarrollo de aplicaciones ricas en internet (RIA's) que se asemejan a las aplicaciones de escritorio. Con JavaScript podemos crear desde simples diálogos en el navegador hasta complejos juegos online con interacciones en tiempo real y manipulación dinámica de objetos. Sin embargo, también permite programación backend gracias a entornos como node.js.

Hoy en día, JavaScript es un lenguaje esencial en el desarrollo de casi cualquier aplicación web, y junto con el nuevo estándar HTML5 se hace posible la realización de tareas que hasta hace poco solo habían sido posibles con lenguajes embebidos como Java y Flash. Antes de ver a detalle algunas de las características de JavaScript veamos que lugar ocupan algunas de especificaciones y términos que seguramente cuando estés empezando en este mundo te confundirán un poco.

Vanilla JavaScript: Cuando hablamos de Vanilla JavaScript nos referimos a JavaScript "puro", sin ningún framework. Es un término utilizado coloquialmente que trasciende hasta el día de hoy pero en esencia es JavaScript sin más.

ECMAScript: Hoy en día, JavaScript puede ser utilizado en múltiples entornos tales como aplicaciones móviles, backend, frontend, etc. ECMAScript es la especificación a nivel de browser de JavaScript. Esto significa, que ECMAScript no es un lenguaje en sí, si no más bien define cómo el lenguaje debe ser interpretado por los navegadores. Esto con el fin de que sin importar el navegador en el cual ejecutemos código tengamos siempre el mismo resultado.

ECMAScript ha sacado varios "releases" a lo largo de los años con nuevos features que deben implementar los navegadores en pro de la evolución del lenguaje. Esos releases al día de hoy son los siguientes:

Name Date published Edition Abbreviation
ECMAScript 2015 June 2015 6th Edition ES2015 (ES6)
ECMAScript 2016 June 2016 7th Edition ES2016 (ES7)
ECMAScript 2017 June 2017 8th Edition ES2017 (ES8)
ECMAScript 2018 June 2018 9th Edition ES2018 (ES9)
ECMAScript 2019 June 2019 10th Edition ES2019 (ES10)
ECMAScript 2020 June 2020 11th Edition ES2020 (ES11)
ECMAScript 2021 June 2021 12th Edition ES2021 (ES12)

Características de JavaScript

JavaScript es un lenguaje interpretado. Para ejecutar código JavaScript no es necesario compilar el código tal y como sucede en otros lenguajes como C o C++, simplemente se necesita de un navegador web que soporte el estándar ECMAScript. Los navegadores actuales cuentan nativamente con una consola javascript para la ejecución del código en forma interactiva (Véase Chrome, Mozilla). 

JavaScript es un lenguaje orienteado a objetos. La programación orientada a objetos puede considerarse como el diseño de software a través de un conjunto de objetos que cooperan. Esto es un cambio radical con respecto al punto de vista tradicional en donde un programa constaba de un conjunto de funciones que cooperan entre sí.

JavaScript está basado en prototipos, lo que quiere decir que no es necesario la instanciación de clases para crear nuevos objetos sino simplemente clonarlos de otros ya existentes. Los lenguajes prototipados hacen referencia a la reutilización del código mediante la creación de prototipos a través los cuales se pasan las características a otros objetos, Douglas Crockford explica muy bien este concepto en su artículo Prototypal Inheritance in JavaScript.

Dialectos de JavaScript

A lo largo de los años se ha buscado la forma de evolucionar el lenguaje JavaScript dándole mayores funcionalidades de las que originalmente se contemplaron. En vista de que los navegadores no soportan las últimas características de ECMAScript, y que la evolución del lenguaje no siempre es la que desea la comunidad se han desarrollado dialectos como TypeScript o CoffeScript.

Estos dialectos dan soporte virtual o casi completo a paradigmas totalmente diferentes sobre los cuales funciona JavaScript, por ejemplo, el paradigma orientado a objetos. Mediante estos flavors o variaciones podemos programar casi tan naturalmente como cualquier otro lenguaje de programación del lado back orientado a objetos y con features que generalmente no soporta JavaScript.

JavaScript y HTML

Aunque no es estrictamente necesario saber HTML para adentrarse en la programación en JavaScript, es muy recomendable realizar al menos el curso básico de HTML para poder manipular el DOM de nuestras páginas, es decir, los elementos. A continuación, presentaremos un ejemplo muy básico de código JavaScript ejecutado como evento cuando se da clic en un botón. Para ejecutar este ejemplo se debe crear un archivo de extensión .html con el siguiente código:

<!DOCTYPE html>
<html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>Mi primer Script</title>
   </head>

   <body>
      <button onclick="alert('Hola mundo')">Aceptar</button>
  </body>
</html>

Al dar clic sobre el botón Aceptar deberá mostrarse un mensaje de alerta con el texto Hola mundo.


Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.