JavaScript
(abreviado comúnmente JS) es un lenguaje de programación interpretado, dialecto
del estándar ECMAScript. Se define como orientado a objetos,3 basado en
prototipos, imperativo, débilmente tipado y dinámico.
Se utiliza
principalmente en su forma del lado del cliente (client-side), implementado
como parte de un navegador web permitiendo mejoras en la interfaz de usuario y
páginas web dinámicas4 aunque existe una forma de JavaScript del lado del
servidor (Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la
web, por ejemplo en documentos PDF, aplicaciones de escritorio
(mayoritariamente widgets) es también significativo.
Desde el
2012, todos los navegadores modernos soportan completamente ECMAScript 5.1, una
versión de javascript. Los navegadores más antiguos soportan por lo menos
ECMAScript 3. La sexta edición se liberó en julio del 2015.5
JavaScript
se diseñó con una sintaxis similar a C, aunque adopta nombres y convenciones
del lenguaje de programación Java. Sin embargo, Java y JavaScript tienen
semánticas y propósitos diferentes.
Todos los
navegadores modernos interpretan el código JavaScript integrado en las páginas
web. Para interactuar con una página web se provee al lenguaje JavaScript de
una implementación del Document Object Model (DOM).
Tradicionalmente
se venía utilizando en páginas web HTML para realizar operaciones y únicamente
en el marco de la aplicación cliente, sin acceso a funciones del servidor.
Actualmente es ampliamente utilizado para enviar y recibir información del
servidor junto con ayuda de otras tecnologías como AJAX. JavaScript se
interpreta en el agente de usuario al mismo tiempo que las sentencias van descargándose
junto con el código HTML.
Desde el
lanzamiento en junio de 1997 del estándar ECMAScript 1, han existido las
versiones 2, 3 y 5, que es la más usada actualmente (la 4 se abandonó6). En
junio de 2015 se cerró y publicó la versión ECMAScript
Nacimiento
de JavaScript
JavaScript
fue desarrollado originalmente por Brendan Eich de Netscape con el nombre de
Mocha, el cual fue renombrado posteriormente a LiveScript, para finalmente
quedar como JavaScript. El cambio de nombre coincidió aproximadamente con el
momento en que Netscape agregó compatibilidad con la tecnología Java en su
navegador web Netscape Navigator en la versión 2.002 en diciembre de 1995. La
denominación produjo confusión, dando la impresión de que el lenguaje es una
prolongación de Java, y se ha caracterizado por muchos como una estrategia de
mercadotecnia de Netscape para obtener prestigio e innovar en el ámbito de los
nuevos lenguajes de programación web.89
«JAVASCRIPT»
es una marca registrada de Oracle Corporation.10 Es usada con licencia por los
productos creados por Netscape Communications y entidades actuales como la
Fundación Mozilla.1112
Microsoft
dio como nombre a su dialecto de JavaScript «JScript», para evitar problemas
relacionadas con la marca. JScript fue adoptado en la versión 3.0 de Internet
Explorer, liberado en agosto de 1996, e incluyó compatibilidad con el Efecto
2000 con las funciones de fecha, una diferencia de los que se basaban en ese
momento. Los dialectos pueden parecer tan similares que los términos
«JavaScript» y «JScript» a menudo se utilizan indistintamente, pero la
especificación de JScript es incompatible con la de ECMA en muchos aspectos.
Para evitar
estas incompatibilidades, el World Wide Web Consortium diseñó el estándar
Document Object Model (DOM, o Modelo de Objetos del Documento en español), que
incorporan Konqueror, las versiones 6 de Internet Explorer y Netscape
Navigator, Opera la versión 7, Mozilla Application Suite y Mozilla Firefox
desde su primera versión.[cita requerida]
En 1997 los
autores propusieron13 JavaScript para que fuera adoptado como estándar de la
European Computer Manufacturers 'Association ECMA, que a pesar de su nombre no
es europeo sino internacional, con sede en Ginebra. En junio de 1997 fue
adoptado como un estándar ECMA, con el nombre de ECMAScript. Poco después
también como un estándar ISO.
JavaScript
en el lado servidor
Netscape
introdujo una implementación de script del lado del servidor con Netscape
Enterprise Server, lanzada en diciembre de 1994 (poco después del lanzamiento
de JavaScript para navegadores web).1415A partir de mediados de la década de
los 2000, ha habido una proliferación de implementaciones de JavaScript para el
lado servidor. Node.js es uno de los notables ejemplos de JavaScript en el lado
del servidor, siendo usado en proyectos importantes.1617
Desarrollos
posteriores
JavaScript
se ha convertido en uno de los lenguajes de programación más populares en
internet. Al principio, sin embargo, muchos desarrolladores renegaban del
lenguaje porque el público al que va dirigido lo formaban publicadores de
artículos y demás aficionados, entre otras razones.18 La llegada de Ajax
devolvió JavaScript a la fama y atrajo la atención de muchos otros
programadores. Como resultado de esto hubo una proliferación de un conjunto de
frameworks y librerías de ámbito general, mejorando las prácticas de
programación con JavaScript, y aumentado el uso de JavaScript fuera de los
navegadores web, como se ha visto con la proliferación de entornos JavaScript
del lado del servidor. En enero de 2009, el proyecto CommonJS fue inaugurado
con el objetivo de especificar una librería para uso de tareas comunes
principalmente para el desarrollo fuera del navegador web.19
En junio de
2015 se cerró y publicó el estándar ECMAScript 62021 con un soporte irregular
entre navegadores22 y que dota a JavaScript de características avanzadas que
se echaban de menos y que son de uso habitual en otros lenguajes como, por
ejemplo, módulos para organización del código, verdaderas clases para
programación orientada a objetos, expresiones de flecha, iteradores,
generadores o promesas para programación asíncrona.
La versión
7 de ECMAScript se conoce como ECMAScript 2016,23 y es la última versión
disponible, publicada en junio de 2016. Se trata de la primera versión para la
que se usa un nuevo procedimiento de publicación anual y un proceso de
desarrollo abierto.24
Características
Las
siguientes características son comunes a todas las implementaciones que se
ajustan al estándar ECMAScript, a menos que especifique explícitamente en caso
contrario.
Imperativo
y estructurado
JavaScript
es compatible con gran parte de la estructura de programación de C (por
ejemplo, sentencias if, bucles for, sentencias switch, etc.). Con una salvedad,
en parte: en C, el ámbito de las variables alcanza al bloque en el cual fueron
definidas; sin embargo JavaScript no es compatible con esto, puesto que el
ámbito de las variables es el de la función en la cual fueron declaradas. Esto
cambia con la versión de ECMAScript 2015, ya que añade compatibilidad con block
scoping por medio de la palabra clave let. Como en C, JavaScript hace
distinción entre expresiones y sentencias. Una diferencia sintáctica con
respecto a C es la inserción automática de punto y coma, es decir, en
JavaScript los puntos y coma que finalizan una sentencia pueden ser omitidos.
No hay comentarios.:
Publicar un comentario