
1. Características
1.1. Lenguaje interpretado
1.1.1. A lo que se refiere es que el codigo fuente se ejecuta directamente, sin necesidad de un proceso de compilación previo
1.2. Orientado a objetos
1.2.1. Se basa en que los objetos pueden tener propiedades y métodos, mediante la definición de clases que permita reutilizar código.
1.3. Tipado dinámico
1.3.1. Las variables no se encuentras asociadas a un tipo de dato especifico, estas variables cuentan con diferentes tipos de datos y pueden cambiar su tipo durante la ejecución del programa.
1.4. Manipulación del DOM
1.4.1. Interactua con el Document Object Model (DOM) de una pagina Web, el cual permite modificar y manipular elementos HTML, cambiar estilos y agregar o eliminar elementos.
1.5. Funciones de alto orden
1.5.1. Las funciones pueden ser asignadas a variables, las cuales pasan como argumentos a otras funciones y devueltas como valores de funciones.
1.6. Asincronía
1.6.1. Permite el manejo de operaciones asíncronas mediante el uso de callbacks, promesas y async/await, lo cual permite la ejecución de tareas sin generar bloqueos al programa.
1.7. Facilidad de Integración
1.7.1. Es facil de implementar con lenguajes y tecnologias Web como: HTML y CSS.
1.8. Amplia Disponibilidad
1.8.1. Es compatible con los navegadores Web modernos y se utiliza en el desarrollo Web. Adicional se puede utilizar en el desarrollo de aplicaciones móviles, aplicaciones de escritorio e Inteligencia Artificial