En HTML5, Javascript fue mejorado por medio de la adición de nuevas funciones y la incorporación de métodos nativos.

Elementos

<script>: Este elemento ahora tiene a Javascript como el lenguaje por defecto. El atributo type ya no es necesario.

Selectores

La posibilidad de seleccionar un elemento del documento dinámicamente desde  código Javascript se ha vuelto esencial para cualquier aplicación web. Nuevos métodos han sido incorporados con este propósito.

  • getElementsByClassName: este selector nos permite encontrar elementos en el documento por medio del valor de su atributo class. Es una adición a los ya conocidos getElementsByTagName y getElementById.
  • querySelector(selectores): este método usa selectores CSS para referenciar  elementos en el documento. Los selectores son declarados entre paréntesis. Este método puede ser combinado con otros para construir referencias más específicas. Retorna solo el primer elemento encontrado.
  • querySelectorAll(selectores): este método es similar a querySelector() pero  retorna todos los elementos que concuerdan con los selectores especificados.

Eventos

La relevancia de los eventos en las aplicaciones web motivó la estandarización de  métodos ya disponibles en navegadores líderes.

  • addEventListener(evento, manejador, captura): este método es usado para  agregar una escucha para un evento. El método recibe tres valores: el nombre del evento, la función que responderá al evento, y un valor booleano (verdadero o  falso) que indica el orden de ejecución de varios eventos disparados al mismo tiempo. Normalmente el tercer atributo es configurado como false.
  • removeEventListener(evento, manejador, captura): este método es usado para  remover una escucha para un evento, desactivando el manejador. Los valores necesarios son los mismos que los usados para addEventListener().

APIs

El alcance de Javascript ha sido expandido con un grupo de poderosas librerías  accesibles a través de interfaces llamadas APIs.

  • Canvas: esta API es una API de dibujo, específica para la creación y manipulación  de gráficos. Utiliza métodos Javascript predefinidos para operar.
  • Drag and Drop: esta API hace que arrastrar y soltar elementos con el ratón en la  pantalla sea posible también en la web.
  • Geolocation: esta API tiene la intención de proveer acceso a información  correspondiente con la ubicación física del dispositivo que está accediendo a la aplicación. Puede retornar datos como la latitud y longitud utilizando diferentes mecanismos (como información de la red o GPS).
  • Web Storage: esta API introduce dos atributos para almacenar datos en el  ordenador del usuario: sessionStorage y localStorage. El atributo sessionStorage permite a los desarrolladores hacer un seguimiento de la actividad de los usuarios almacenando información que estará disponible en cada instancia de la aplicación durante la duración de la sesión. El atributo localStorage, por otro lado, ofrece a los desarrolladores un área de almacenamiento, creada para cada aplicación, que puede conservar varios megabytes de información, preservando de este modo información y datos en el ordenador del usuario de forma  persistente.
  • Indexed Database: esta API agrega la capacidad de trabajar con bases de datos  del lado del usuario. El sistema fue desarrollado independientemente de previas tecnologías y provee una base de datos destinada a aplicaciones web. La base de datos es almacenada en el ordenador del usuario, los datos son persistentes y, por supuesto, son exclusivos de la aplicación que los creó.
  • File: este es un grupo de APIs desarrollada para proveer la capacidad de leer, escribir y procesar archivos de usuario.
  • XMLHttpRequest Level 2: esta API es una mejora de la vieja XMLHttpRequest  destinada a la construcción de aplicaciones Ajax. Incluye nuevos métodos para controlar el progreso de la operación y realizar solicitudes cruzadas (desde diferentes orígenes).
  • Cross Document Messaging: esta API introduce una nueva tecnología de  comunicación que permite a aplicaciones comunicarse entre sí a través de diferentes cuadros o ventanas.
  • WebSockets: esta API provee un mecanismo de comunicación de dos vías entre  clientes y servidores para generar aplicaciones en tiempo real como salas de chat o juegos en línea.
  • Web Workers: esta API potencia Javascript permitiendo el procesamiento de  código detrás de escena, de forma separada del código principal, sin interrumpir la actividad normal de la página web, incorporando la capacidad de multitarea a este lenguaje.
  • History: esta API provee la alternativa de incorporar cada paso en el proceso de  una aplicación dentro del historial de navegación del navegador.
  • Offline: esta API apunta a mantener las aplicaciones funcionales incluso cuando el dispositivo es desconectado de la red.