Que es JavaScript ?
orientado
a objetos,2 basado en prototipos, imperativo, débilmente tipado y dinámico.
Se utiliza principalmente del lado del cliente, implementado como parte de un navegador web permitiendo
mejoras en la interfaz de usuario y páginas web dinámicas3 y 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 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 de 2015.
JavaScript se diseñó con una sintaxis similar a C++ y Java,56 aunque adopta nombres y convenciones del lenguaje de
programación Java. Sin embargo, Java y JavaScript tienen semánticas y
propósitos diferentes. Su relación es puramente comercial, tras la compra del
creador de Java (Sun Microsystems) de Nestcape Navigator (creador de
LiveScript) y el cambio de nombre del lenguaje de programación.
Historia
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 2002 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 fue considerada
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.910
«JAVASCRIPT» es una marca registrada de oracle corporation Es usada con licencia por los productos creados
por Netscape Communications y
entidades actuales como la Fundacion mosilla
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
JavaScript en el lado servidor
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 importantesdespués del lanzamiento de JavaScript para navegadores web. A partir de mediados de la década de los 2000, ha
JavaScript se ha convertido en uno de los lenguajes de programación más populares en internet y más usados. 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.
Desarrollos posteriores
JavaScript se ha convertido en uno de los
lenguajes de programación más populares en internet y más usados. 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 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 bibliotecas 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 biblioteca para uso de tareas comunes principalmente para el desarrollo
fuera del navegador web.
En junio de 2015 se cerró y publicó el
estándar ECMAScript 62122 con un soporte irregular entre navegadoresy 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,24 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.
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.
Ejemplos sencillos
var x; // define la variable x, aunque no tiene ningún
valor asignado por defecto
var y = 2; // define la variable y y le asigna el valor 2 a ella
A considerar
los comentarios en el
ejemplo de arriba, los cuales van precedidos con 2 barras diagonales.
No existen
funcionalidades para I/O incluidas en el
lenguaje; el entorno de ejecución ya lo proporciona. La especificación
ECMAScript en su edición 5.1 hace mención:
...
en efecto, no existen provisiones en esta especificación para entrada de datos
externos o salida para resultados computados.
Sin embargo, la
mayoría de los entornos de ejecución tiene un objeto41 llamado console que
puede ser usado para imprimir por el flujo de salida de la consola de
depuración. He aquí un simple programa que imprime “Hello world!”:
console.log("Hello world!");
Una función recursiva:
function factorial(n) {
if (n === 0) {
return 1;
}
return n * factorial(n - 1);
}
Tipado
dinámico
Como en la mayoría de lenguajes de scripting, el tipo está asociado al valor, no a la variable. Por ejemplo, una variable x en un momento dado puede estar ligada a un número y más adelante, religada a una cadena. JavaScript es compatible con varias formas de comprobar el tipo de un objeto, incluyendo duck typing. Una forma de saberlo es por medio de la palabra clave typeof.
Objetual
JavaScript está
formado casi en su totalidad por objetos. Los objetos
en JavaScript son arrays
asociativos, mejorados con la inclusión de prototipos (ver más
adelante). Los nombres de las propiedades de los objetos son claves de tipo
cadena: obj.x = 10 y obj['x'] = 10 son
equivalentes, siendo azúcar sintáctico la
notación con punto. Las propiedades y sus valores pueden ser creados, cambiados
o eliminados en tiempo de ejecución. La mayoría de propiedades de un objeto y
aquellas que son incluidas por la cadena de la herencia prototípica) pueden ser
enumeradas por medio de la instrucción de bucle for...
in. JavaScript tiene un pequeño número de objetos
predefinidos como son Function y Date.
0 comentarios:
Publicar un comentario