JavaScript - Introducción

JavaScript es un lenguaje interpretado, desarrollado por Netscape inicialmente para sus navegadores.

Actualmente es compatible con los navegadores más utilizados: Netscape Communicator, Microsoft Internet Explorer, Opera…

JavaScript permite crear páginas web interactivas (DHTML) con relativa facilidad. Se utiliza tanto para programación en el lado del cliente (navegadores fundamentalmente) como en el lado del servidor (ASP, Netscape Enterprise Server).

El núcleo de JavaScript incluye los elementos típicos de un lenguaje de programación: variables, sentencias, estructuras, operadores… y además incorpora un conjunto de objetos de utilización frecuente (Array, Math, etc…).

La extensión para cliente permite acceder a los objetos que utiliza el navegador y al DOM (Document Object Model), la jerarquía de objetos de un documento HTML. Añade soporte para control de eventos, de tal forma que el programa puede interactuar con el usuario.

La extensión para servidor aporta objetos que permiten un acceso sencillo a la interfaz CGI y la utilización de servicios del servidor web.


JavaScript - Introducción


JavaScript es un lenguaje orientado a objetos (en el sentido de que permite construir objetos y utilizarlos), con control de tipos muy débil. Por ejemplo, el programador puede utilizar variables que no han sido declaradas y asignar valores de distintos tipos a la misma variable a lo largo del programa.

Aunque la similitud del nombre puede inducir a creer que JavaScript es equivalente a Java, la verdad es que no tienen prácticamente nada en común. Java ha sido desarrollado para construir grandes aplicaciones distribuidas, con el objetivo de máxima fiabilidad. JavaScript se creó con el objetivo de ser un lenguaje sencillo de aprender y utilizar, ideal para desarrollar pequeños programas que corren en un navegador.

En esta tabla se pueden apreciar algunas diferencias entre JavaScript y los applets de Java:

JavaScript
Java (applets)
Programa interpretado por el cliente Programa compilado en bytecodes. Es bajado del servidor y ejecutado en el cliente (Applets).
Orientado a objetos. No distingue entre tipos de objetos. Las propiedades y los métodos son añadidos dinámicamente a los objetos. Los objetos son instancias de clases. La herencia se consigue a través de la jerarquía de clases. Las clases y los objetos se definen en tiempo de diseño y no pueden ser modificados en tiempo de ejecución.
El código JavaScript se funde con el código HTML El código se integra en la página HTML, pero como una unidad llamada Applet
No hay definición de tipos para las variables Definición estática de tipos. Control de tipos fuerte.
Limitaciones de seguridad Limitaciones de seguridad