robot de la enciclopedia para niños

JavaScript para niños

Enciclopedia para niños
Datos para niños
JavaScript
Unofficial JavaScript logo 2.svg
Ejemplo de código JavaScript.jpg
?
Información general
Extensiones comunes .js
Paradigma Multiparadigma, programación funcional, programación basada en prototipos, imperativo, interpretado (scripting)
Apareció en 4 de diciembre de 1995
Diseñado por Netscape Communications, Fundación Mozilla
Última versión estable ECMAScript 2021 (01 de junio de 2021 (4 años, 1 mes y 3 días))
Sistema de tipos aceptable. dinámico, duck
Implementaciones SpiderMonkey, Rhino, KJS, JavaScriptCore, V8, Chakra.
Dialectos ECMAScript
Influido por Java, Perl, Self, Python, C, Scheme
Ha influido a ObjectiveJ, JScript .si, TIScript

JavaScript (a menudo abreviado como JS) es un lenguaje de programación que se usa para hacer que las páginas web sean interactivas. Imagina que es el cerebro de una página web, permitiéndole hacer cosas geniales como mostrar animaciones, juegos o responder a lo que haces con el ratón o el teclado.

Se usa principalmente en los navegadores web de tu computadora o teléfono. Esto significa que el código JavaScript se ejecuta directamente en tu dispositivo, haciendo que las páginas carguen más rápido y se sientan más fluidas. También se puede usar en servidores para crear aplicaciones web completas.

Desde 2012, casi todos los navegadores modernos entienden y usan una versión de JavaScript llamada ECMAScript 5.1. Las versiones más nuevas, como ECMAScript 6 (lanzada en 2015), añaden aún más funciones.

JavaScript fue diseñado para parecerse a otros lenguajes de programación como C++ y Java. Sin embargo, es importante saber que Java y JavaScript son diferentes y se usan para cosas distintas. Su relación es más bien histórica y comercial.

Todos los navegadores modernos pueden leer y ejecutar el código JavaScript que encuentran en las páginas web. Para que JavaScript pueda interactuar con una página, usa algo llamado Document Object Model (DOM), que es como un mapa de todos los elementos de la página.

Historia de JavaScript

¿Cómo nació JavaScript?

JavaScript fue creado por Brendan Eich en Netscape. Al principio, se llamó "Mocha", luego "LiveScript", y finalmente "JavaScript". El cambio de nombre a JavaScript ocurrió cuando Netscape añadió compatibilidad con la tecnología Java en su navegador Netscape Navigator en 1995. Esto causó un poco de confusión, ya que la gente pensó que eran lo mismo, pero en realidad son lenguajes diferentes.

La palabra "JAVASCRIPT" es una marca registrada de Oracle Corporation. Empresas como Netscape Communications y la Fundación Mozilla la usan con permiso.

Microsoft creó su propia versión de JavaScript, a la que llamó "JScript", para evitar problemas con la marca. JScript se incluyó en Internet Explorer 3.0 en 1996. Aunque JScript y JavaScript parecen similares, tenían algunas diferencias.

Para que los navegadores funcionaran de manera más parecida, el World Wide Web Consortium (W3C) creó un estándar llamado Document Object Model (DOM). Este estándar ayuda a que JavaScript funcione de la misma manera en diferentes navegadores.

En 1996, se propuso que JavaScript se convirtiera en un estándar internacional. En junio de 1997, fue adoptado como estándar por la organización ECMA, con el nombre de ECMAScript. Poco después, también se convirtió en un estándar de la ISO.

JavaScript en el servidor

JavaScript no solo se usa en tu navegador. También puede ejecutarse en los servidores, que son computadoras que guardan las páginas web y las envían a tu navegador. Netscape fue pionero en esto en 1994.

Desde el año 2000, ha habido muchas formas de usar JavaScript en el lado del servidor. Node.js es un ejemplo muy popular que se usa en muchos proyectos importantes. También existe Deno, que es más nuevo y puede trabajar con otros lenguajes como TypeScript y WebAssembly (WASM).

Avances de JavaScript

JavaScript se ha vuelto uno de los lenguajes de programación más populares en internet. Al principio, algunos desarrolladores no lo tomaban muy en serio. Sin embargo, cuando apareció una técnica llamada AJAX, JavaScript se hizo muy famoso. AJAX permite que las páginas web se actualicen sin tener que recargar toda la página, lo que mejora mucho la experiencia del usuario.

Gracias a esto, surgieron muchas herramientas y librerías que facilitaron la programación con JavaScript. Esto también llevó a que JavaScript se usara más allá de los navegadores, como en los servidores.

En junio de 2015, se lanzó una versión importante llamada ECMAScript 6. Esta versión añadió muchas características avanzadas que los programadores echaban de menos, como formas más organizadas de escribir código y herramientas para manejar tareas que tardan tiempo en completarse.

La versión 7 de ECMAScript, conocida como ECMAScript 2016, se publicó en junio de 2016. Ahora, se publica una nueva versión cada año.

¿Qué puede hacer JavaScript?

Código estructurado

JavaScript permite escribir código de forma organizada, similar a otros lenguajes como C. Puedes usar comandos como `if` (si ocurre algo) o `for` (para repetir algo varias veces). Las variables (espacios para guardar información) en JavaScript suelen funcionar dentro de la función donde se declaran. Sin embargo, con las versiones más nuevas, puedes definir variables que solo funcionan dentro de bloques de código más pequeños.

Ejemplos sencillos de código

Aquí te mostramos cómo se ve un poco de código JavaScript.

Para crear una variable (un espacio para guardar un valor), usas la palabra `var`:

var x; // aquí definimos 'x', pero aún no tiene un valor
var y = 2; // aquí definimos 'y' y le damos el valor 2

Las líneas que empiezan con `//` son comentarios. Sirven para que los programadores entiendan el código, pero el programa no las ejecuta.

JavaScript no tiene comandos para "mostrar" o "recibir" información directamente. Eso lo hace el entorno donde se ejecuta (como tu navegador). Pero la mayoría de los navegadores tienen una herramienta llamada `console` que puedes usar para ver mensajes. Por ejemplo, para mostrar "Hello world!":

console.log("Hello world!");

Aquí tienes un ejemplo de una función que se llama a sí misma (recursiva) para calcular el factorial de un número:

function factorial(n) {
    if (n === 0) {
        return 1;
    }
    return n * factorial(n - 1);
}

Uso en páginas web

El uso más común de JavaScript es en las páginas web HTML. Permite que las páginas hagan muchas cosas interactivas:

  • Actualizar contenido: Cargar cosas nuevas en la página o enviar datos sin tener que recargarla por completo. Por ejemplo, cuando envías un mensaje en una red social sin salir de la página.
  • Animaciones: Hacer que los elementos de la página se muevan, cambien de tamaño o desaparezcan.
  • Contenido interactivo: Crear juegos, reproducir música o videos.
  • Validar formularios: Revisar que la información que escribes en un formulario (como tu nombre o correo electrónico) sea correcta antes de enviarla.
  • Recopilar información: Las páginas web a menudo usan JavaScript para saber cómo las usas, lo que ayuda a mejorar el sitio o a mostrar anuncios relevantes.

Como JavaScript se ejecuta en tu navegador, las páginas pueden responder muy rápido a tus acciones. Esto hace que las aplicaciones web, como Gmail, se sientan muy fluidas y rápidas.

Un "motor de JavaScript" es el programa que lee y ejecuta el código JavaScript. El primer motor fue creado por Brendan Eich para Netscape Navigator y se llamó SpiderMonkey. Otros navegadores tienen sus propios motores, como V8 en Google Chrome.

Los navegadores son el lugar más común para JavaScript. Un servidor web también puede usar JavaScript para crear páginas web dinámicas.

Ejemplos de código en HTML

Aquí tienes un ejemplo sencillo de una página web que usa JavaScript para cambiar un texto:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Ejemplo sencillo</title>
</head>
<body>
    <h1 id="header">Esto es JavaScript</h1>

    <script>
        document.body.appendChild(document.createTextNode('Hola Mundo!'));
    
        var h1 = document.getElementById('header'); // encuentra el título <h1>
        h1 = document.getElementsByTagName('h1')[0]; // otra forma de encontrar el mismo título
    </script>

    <noscript>Tu navegador no admite JavaScript, o JavaScript está deshabilitado.</noscript>
</body>
</html>

Compatibilidad entre navegadores

Como JavaScript se ejecuta en muchos navegadores diferentes, es importante que los programadores prueben su código para asegurarse de que funcione bien en todos ellos. Aunque hay estándares, a veces los navegadores interpretan el código de forma ligeramente distinta.

Para solucionar esto, los programadores pueden escribir código que se adapte a cada navegador o usar herramientas especiales que manejan estas diferencias.

Además, algunos usuarios pueden tener JavaScript deshabilitado por seguridad, usar navegadores antiguos o dispositivos móviles que no lo soportan, o usar navegadores de voz por alguna discapacidad. Para ellos, las páginas web deben seguir siendo útiles incluso sin las funciones de JavaScript. Lo ideal es que la página funcione bien sin JavaScript y luego mejore si JavaScript está activado.

Accesibilidad web

Es muy importante que las páginas web con JavaScript sean accesibles para todos, incluyendo personas con discapacidades visuales o físicas.

  • Lectores de pantalla: Los lectores de pantalla, usados por personas ciegas, deben poder entender y leer el contenido de la página, incluso si JavaScript lo modifica.
  • Navegación con teclado: El JavaScript no debe depender solo del ratón. Los usuarios deben poder usar el teclado para interactuar con la página.
  • No confundir al usuario: Es mejor evitar que JavaScript cambie el comportamiento normal del navegador, como el botón de "volver atrás", para no desorientar al usuario.

Hacer una página web muy accesible puede ser un desafío, pero es un objetivo importante para que todos puedan usar internet.

Seguridad en JavaScript

JavaScript es muy útil, pero también puede ser usado de forma incorrecta por personas con malas intenciones para introducir código dañino sin que el usuario lo sepa.

Los creadores de navegadores tienen esto en cuenta y usan dos medidas de seguridad: 1. Entorno seguro (Sandbox): Los scripts de JavaScript se ejecutan en un "sandbox" (caja de arena). Esto significa que solo pueden hacer cosas relacionadas con la web, como cambiar el contenido de una página, pero no pueden acceder a tus archivos personales en la computadora. 2. Política del mismo origen: Un script de una página web no puede acceder a la información de otra página web de un dominio diferente (por ejemplo, tus contraseñas o datos bancarios de otro sitio).

La mayoría de los problemas de seguridad con JavaScript ocurren cuando estas dos reglas se rompen.

Problemas de seguridad comunes

Un problema común es el "cross-site scripting" (XSS). Esto ocurre cuando un atacante logra inyectar código JavaScript malicioso en una página web que visitas. Si esa página es, por ejemplo, la de tu banco, el atacante podría intentar acceder a tu cuenta. Para evitar esto, los sitios web deben asegurarse de que la información que muestran de fuentes no confiables esté "limpia".

Otro problema es la "falsificación de petición de sitio cruzado" (CSRF). Aquí, el código de un sitio web malicioso engaña a tu navegador para que realice acciones en otro sitio web en tu nombre, sin que te des cuenta. Por ejemplo, podría intentar hacer una transferencia de dinero desde tu cuenta bancaria. Para protegerse de esto, los sitios web suelen usar códigos especiales en los formularios que confirman que eres tú quien está haciendo la acción.

Herramientas para programar

Cuando los programadores crean aplicaciones grandes con JavaScript, necesitan herramientas para encontrar y corregir errores. Estas herramientas se llaman "depuradores". Como JavaScript puede funcionar de forma un poco diferente en cada navegador, es útil tener un depurador para cada uno.

Hay depuradores disponibles para navegadores como Internet Explorer, Firefox, Safari, Google Chrome y Opera. Por ejemplo, Firefox tiene una herramienta llamada Firebug, y Chrome tiene el Inspector Web.

También existen herramientas que ayudan a los programadores a escribir código JavaScript de forma más limpia y correcta, como JSLint.

Además, hay "frameworks" de programación, como PaulaJS, que ofrecen funciones ya hechas para crear interfaces de usuario más atractivas y fáciles de usar.

Véase también

Kids robot.svg En inglés: JavaScript Facts for Kids

kids search engine
JavaScript para Niños. Enciclopedia Kiddle.