javascript
javascript es un lenguaje de programación intepretado o de compilado JIT de tipado dinamico que nacio en la web en la decada de los 90's primero implementado en el navegador netscape ahora es un lenguaje multiproposito no confudir con el java son dos lenguajes totalmente diferentes cuyas normas y estandares son manejados por ecma los famosos ecmascript
historia de las historia de javascript
javascript fue creado por brendan eich de netscape en el año 1995 con el nombre de mocha, luego renombrado a livescript y posteriomente como javascript se dio la confusion con el lenguaje java; microsoft dio su nombre a su dialecto javascript como Jscript adoptado en internet explorer 3; despues se dio compatibilidad total y empuje a todos los navegadores desde ecmascript 5 debido que antes el rey que dominaba en esos tiempos era internet explorer los unicos navegadores que no seguia los estandares de microsoft fueron mozilla y opera depronto apple en aquellos tiempos era complicado e incluso imposible desarrollar sitios web. la primera salvacion fue jquery en el 2006 luego la aparecion de ecmascript 5 y el que dio el salto mas importante fue es2015/es6 conocido como ecmascript 2015
ecmascript y javascript versions
- 1995: nacimiento de javascript
- 1997: se lanza la primera version de ecmascript
- 1998: ecmascript 2
- cambios en la especificacion con completa asignacion de estandard ISO 16262
- 1999: ecmascript 3
- se agrego expresiones regulares
- nuevos manejos de strings
- se agrego la excepcion try/catch
- nuevo control de declaraciones
- definiciones mas estrictas de errores
- formateo de salida para datos numericos y otros
- 2003: abandona la version ecmascript 4 (parte de los borradores se utilizó en actionscript)
- 2009: es5 y es5.1
- se agrega el strcit mode
- soporte para JSON
- soporte para JSON
- acutalizacion al estandard iso 16262:2011
- isArray() array method
- forEach() array method for read
- map() array method for create new array
- filter() array method seach elements
- reduce() array method for reduce to single element
- every() array method for conditional si retorna falso o verdadero
- some() es similar o parecido como every
- indexOf() metodo usando para busca un valor de un array o string si no lo encuetra te retorna -1
- lastIndexOf() igual que indexOf pero revisa y retorna el valor al final de array
- nuevos metodos Date
- 2015: es6 o es2015
- inclusion de clases
- inclusion de funciones flecha
- propiedades y funciones de objetos acortados
- la adicion de let y const
- ciclo (for..in) y (for..of)
- la opcion destructuracion
- literals strings
- parametros por defecto en las funciones
- speard operator y rest operator "aplicado en funciones"
- promesas
- otras mejoras como:
- Set, WeakSet, Map, WeakMap
- generators
- Symbols
- unicode
- Modules
- Proxies
- Built-Ins
- Binary and Octal
- Reflect
- Tail Call Optimization
- 2016: es7 o es2016
- exponentiation operator (**)
- includes()
- 2017: es8 o es2017
- padStart() string method
- padend() string method
- async/await
- trailing commas
- object.getOwnPropertyDescriptors()
- object.values()
- 2018: es9 o es2018
- ASYNCHRONOUS ITERATION
- nuevas expresiones regulares
- 2019: es10 o es2018
- flat() array method
- flatMap() array method
- Object.entries()
- catch binding optional
- trimStart() & trimEnd() string methods
- toString() convert number to string
- 2020: es11 o es2020
- dynamic imports
- BigInt
- promise.allSettled
- globalThis
- 2021: es12 o es2021
- logical assignment
- numeric separator
- promise.any
- replaceAll string method
- WeakRefs