[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Introduction [Back]  [Original]

Introduccin - JavaScript | MDN

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.

View in English Always switch to English

Introduccin

Este captulo presenta JavaScript y analiza algunos de sus conceptos fundamentales.

In this article

Qu debes conocer previamente?

Esta gua presume que tienes los siguientes antecedentes bsicos:

Dnde encontrar informacin sobre JavaScript

La documentacin de JavaScript en MDN incluye lo siguiente:

  • Aprende desarrollo web proporciona informacin para principiantes e introduce conceptos bsicos de programacin e Internet.
  • La Gua de JavaScript (esta gua) proporciona una descripcin general sobre el lenguaje JavaScript y sus objetos.
  • La Referencia de JavaScript proporciona material de referencia detallado para JavaScript.

Si eres nuevo en JavaScript, comienza con los artculos en el rea de aprendizaje y la Gua de JavaScript. Una vez que tengas una firme comprensin de los fundamentos, puedes usar la Referencia de JavaScript para obtener ms detalles sobre objetos y declaraciones individuales.

Qu es JavaScript?

JavaScript es un lenguaje de programacin multiplataforma orientado a objetos que se utiliza para hacer que las pginas web sean interactivas (p. ej., Que tienen animaciones complejas, botones en los que se puede hacer clic, mens emergentes, etc.). Tambin hay versiones de JavaScript de lado del servidor ms avanzadas, como Node.js, que te permiten agregar ms funcionalidad a un sitio web que simplemente descargar archivos (como la colaboracin en tiempo real entre varias computadoras). Dentro de un entorno (por ejemplo, un navegador web), JavaScript se puede conectar a los objetos de su entorno para proporcionar control programtico sobre ellos.

JavaScript contiene una biblioteca estndar de objetos, como Array, Date y Math, y un conjunto bsico de elementos del lenguaje como operadores, estructuras de control y declaraciones. El ncleo de JavaScript se puede extender para una variedad de propsitos completndolo con objetos adicionales; por ejemplo:

  • JavaScript de lado del cliente extiende el ncleo del lenguaje al proporcionar objetos para controlar un navegador y su Modelo de objetos de documento (DOM por Document Object Model). Por ejemplo, las extensiones de lado del cliente permiten que una aplicacin coloque elementos en un formulario HTML y responda a eventos del usuario, como clics del mouse, formularios para ingreso de datos y navegacin de pginas.
  • JavaScript de lado del servidor ampla el ncleo del lenguaje al proporcionar objetos relevantes para ejecutar JavaScript en un servidor. Por ejemplo, las extensiones de lado del servidor permiten que una aplicacin se comunique con una base de datos, brinde continuidad de informacin de una invocacin a otra de la aplicacin o realice manipulacin de archivos en un servidor.

Esto significa que en el navegador, JavaScript puede cambiar la apariencia de la pgina web (DOM). Y, del mismo modo, el JavaScript de Node.js en el servidor puede responder a solicitudes personalizadas desde el cdigo escrito en el navegador.

JavaScript y Java

JavaScript y Java son similares en algunos aspectos, pero fundamentalmente diferentes en otros. El lenguaje JavaScript se parece a Java, pero no tiene el tipado esttico ni la fuerte verificacin de tipos de Java. JavaScript sigue la mayora de la sintaxis de las expresiones de Java, convenciones de nomenclatura y construcciones de control de flujo bsicas, razn por la cual se cambi el nombre de LiveScript a JavaScript.

A diferencia del sistema de clases en tiempo de compilacin de Java creado por declaraciones, JavaScript admite un sistema de tiempo de ejecucin basado en una pequea cantidad de tipos de datos que representan valores numricos, booleanos y de cadena. JavaScript tiene un modelo de objetos basado en prototipos en lugar del modelo de objetos basado en clases ms comn. El modelo basado en prototipos proporciona herencia dinmica; es decir, lo que se hereda puede variar en objetos individuales. JavaScript tambin admite funciones sin requisitos declarativos especiales. Las funciones pueden ser propiedades de objetos, ejecutndose como mtodos dbilmente tipados.

JavaScript es un lenguaje de forma muy libre en comparacin con Java. No es necesario declarar todas las variables, clases y mtodos. No tienes que preocuparte por si los mtodos son pblicos, privados o protegidos, y no tienes que implementar interfaces. Las variables, los parmetros y los tipos de retorno de funcin no se tipifican explcitamente.

Java es un lenguaje de programacin basado en clases diseado para una ejecucin rpida y con seguridad de tipos. La seguridad de tipos significa, por ejemplo, que no puedes convertir un entero de Java en una referencia de objeto o acceder a la memoria privada corrompiendo el cdigo de bytes de Java. El modelo basado en clases de Java significa que los programas constan exclusivamente de clases y sus mtodos. La herencia de clases de Java y la tipificacin fuerte generalmente requieren jerarquas de objetos estrechamente acopladas. Estos requisitos hacen que la programacin Java sea ms compleja que la programacin JavaScript.

Por el contrario, JavaScript desciende en espritu de una lnea de lenguajes ms pequeos de tipado dinmico como HyperTalk y dBASE. Estos lenguajes de scripting ofrecen herramientas de programacin a una audiencia mucho ms amplia debido a su sintaxis ms sencilla, funcionalidad especializada incorporada y requisitos mnimos para la creacin de objetos.

JavaScript Java
Orientado a objetos. No hay distincin entre tipos de objetos. La herencia se realiza a travs del mecanismo de prototipo, y las propiedades y mtodos se pueden agregar a cualquier objeto de forma dinmica. Basado en clases. Los objetos se dividen en clases e instancias con toda la herencia a travs de la jerarqua de clases. Las clases y las instancias no pueden tener propiedades o mtodos agregados dinmicamente.
Los tipos de datos de las variables no se declaran (tipado dinmico, tipado flexible). Los tipos de datos de las variables se deben declarar (tipado esttico, fuertemente tipado).
No se puede escribir automticamente en el disco duro. Puede escribir automticamente en el disco duro.

JavaScript y la especificacin ECMAScript

JavaScript est estandarizado en Ecma International, la asociacin europea para estandarizar los sistemas de informacin y comunicacin (ECMA antes era un acrnimo para la Asociacin Europea de Fabricantes de Computadoras) para ofrecer un lenguaje de programacin internacional estandarizado basado en JavaScript. Esta versin estandarizada de JavaScript, denominada ECMAScript, se comporta de la misma manera en todas las aplicaciones que admiten el estndar. Las empresas pueden utilizar el lenguaje estndar abierto para desarrollar su implementacin de JavaScript. El estndar ECMAScript est documentado en la especificacin ECMA-262.

El estndar ECMA-262 tambin est aprobado por ISO (Organizacin Internacional de Normalizacin) como ISO-16262. Tambin puedes encontrar la especificacin en el sitio web de Ecma International. La especificacin ECMAScript no describe el modelo de objetos de documento (DOM), que est estandarizado por el World Wide Web Consortium (W3C) y/o WHATWG (Grupo de trabajo de tecnologa de aplicaciones de hipertexto web). El DOM define la forma en que los objetos de documentos HTML se exponen a tu script. Para tener una mejor idea de las diferentes tecnologas que se utilizan al programar con JavaScript, consulta el artculo Descripcin de las Tecnologas JavaScript.

Documentacin de JavaScript versus especificacin de ECMAScript

La especificacin ECMAScript es un conjunto de requisitos para implementar ECMAScript. Es til si deseas implementar funciones del lenguaje compatibles con los estndares en tu implementacin o motor ECMAScript (como SpiderMonkey en Firefox o V8 en Chrome).

El documento ECMAScript no est destinado a ayudar a los programadores de scripts. Utiliza la documentacin de JavaScript para obtener informacin al escribir tus scripts.

La especificacin ECMAScript utiliza terminologa y sintaxis que puede resultar desconocida para un programador de JavaScript. Aunque la descripcin del lenguaje puede diferir en ECMAScript, el lenguaje en s sigue siendo el mismo. JavaScript admite todas las funciones descritas en la especificacin ECMAScript.

La documentacin de JavaScript describe aspectos del lenguaje que son apropiados para un programador de JavaScript.

Cmo empezar con JavaScript

Comenzar con JavaScript es fcil: todo lo que necesitas es un navegador web moderno. Esta gua incluye algunas funciones de JavaScript que solo estn disponibles actualmente en las ltimas versiones de Firefox, por lo que se recomienda utilizar la versin ms reciente de Firefox.

La herramienta Consola web integrada en Firefox es til para experimentar con JavaScript; Puedes usarla en dos modos: modo de entrada unilnea y modo de entrada multilnea.

Entrada unilnea en la consola web

La Consola web te muestra informacin sobre la pgina web cargada actualmente, y tambin incluye un intrprete de JavaScript que puedes usar para ejecutar expresiones de JavaScript en la pgina actual.

Para abrir la Consola web (Ctrl+Mays+I en Windows y Linux o Cmd-Opcin-K en Mac), abre el men Herramientas en Firefox y selecciona "Desarrollador Consola web".

La consola web aparece en la parte inferior de la ventana del navegador. En la parte inferior de la consola hay una lnea de entrada que puedes usar para ingresar JavaScript, y la salida aparece en el panel de arriba:

Consola web [Consola web]

La consola funciona exactamente de la misma manera que eval: devuelve la ltima expresin ingresada. En aras de la simplicidad, te puedes imaginar que cada vez que ingresas algo en la consola, en realidad ests rodeado por console.log alrededor de eval, as:

js
function greetMe(tuNombre) {
  alert("Hola " + tuNombre);
}
console.log(eval("3 + 5"));

Entrada multilnea en la consola web

El modo de entrada unilnea de la consola web es ideal para realizar pruebas rpidas de expresiones JavaScript, pero aunque puedes ejecutar varias lneas, no es muy conveniente para eso. Para JavaScript ms complejo, puedes utilizar el modo de entrada multilnea.

Hola mundo

Para comenzar a escribir JavaScript, abre la Consola web en modo multilnea y escribe tu primer cdigo "Hola mundo" en JavaScript:

js
(function () {
  "use strict";
  /* Inicio de tu cdigo */
  function greetMe(tuNombre) {
    alert("Hola " + tuNombre);
  }

  greetMe("Mundo");
  /* Fin de tu cdigo */
})();

Presiona Cmd+Intro o Ctrl+Intro (o haz clic en el botn Ejecutar), para ver cmo se desarrolla en tu navegador!

En las siguientes pginas, esta gua te presenta la sintaxis de JavaScript y las caractersticas del lenguaje, de modo que puedas escribir aplicaciones ms complejas.

Pero por ahora, recuerda incluir siempre el (function() { "use strict"; antes de tu cdigo, y agrega })(); al final de tu cdigo. Aprenders qu significa IIFE , pero por ahora puedes pensar que hacen lo siguiente:

  1. Mejoran enormemente el rendimiento.
  2. Evitan la semntica estpida en JavaScript que hace tropezar a los principiantes.
  3. Evitan que los fragmentos de cdigo ejecutados en la consola interacten entre s (por ejemplo, que algo creado en una ejecucin de consola se utilice para una ejecucin de consola diferente).

Web Proxy Viewer  |  New URL  |  Original Page