¿Cómo nace JavaScript?

Nace con la necesidad de generar dinamismo en las páginas web y que a su vez los usuarios y las empresas pudieran interactuar unos con otros.

Orientado 100% a trabajar web y generar paginas dinámicas que luego se convierten en aplicaciones web.

¿Qué es JavaScript?

Es un lenguaje interpretado, orientado a objetos, débilmente tipado y dinámico.

Débilmente tipado

Se pueden hacer operaciones entre tipos distintos de datos (enteros con strings, booleanos con enteros, etc). Ejemplo:

4 + "7"; // 47
4 * "7"; // 28
2 + true; // 3
false - 3; // -3

Dinámico

Corre directamente en la etapa de Runetime sin una etapa de compilación previa. Esto permite probar nuestro código inmediatamente; pero también es lo que hace que los errores se muestren hasta que se ejecuta el programa.

Untitled

¿Realmente es JavaScript un lenguaje interpretado?

Si, y la razón es que el navegador lee línea por línea nuestro código el cuál le indica lo que tiene que hacer, sin la necesidad de compilar. Todo esto es controlado por el motor de JavaScript V8 del navegador (o cualquier motor de JavaScript en el navegador)

Untitled

El motor lo que hace es traducir el código a un código que la maquina pueda entender, esta etapa se llama JustInTimeCompiler donde interpreta y mejora el código con una especie de árbol de palabras (esto es lo que permite sumas entre un int y un string por ejemplos) después pasa esta interpretación a código binario para que el navegador ya sepa que tiene que hacer.

Forwards

JavaScript es Backwards Compatible

Todas las funciones nuevas que salen de JavaScript no dañarán el trabajo ya hecho, pero no se podrá utilizar en nuestro entorno de trabajo inmediatamente.

Para solucionar esto está Babel que permite utilizar las nuevas características del lenguaje pero lo transforma a una versión que el navegador pueda entender.

Material Extra