This graph shows how many times the word ______ has been mentioned throughout the history of the program.
Y ojo, cuidado, porque tengo novedades muy interesantes para JavaScript.
Y JavaScript, amigos y amigas, han avanzado a nuevas fases,
diferentes novedades que van a llegar al lenguaje.
Por ejemplo, promise.try es un nuevo método que va a llegar a Promise
y la idea es que intentará ejecutar la función que le pasa como una promesa.
Así, si da un error, pues lo envolverá en una promesa
y si no es una promesa, pues lo podrá ejecutar sin necesidad de tener que esperar la sincronía.
Por ejemplo, le podrás pasar una función que no sea asíncrona y ejecutarla normalmente.
Lo cual esto tiene muy buena pinta.
Pero el que tiene todavía mejor pinta es este, que a mí este ya me ha encantado.
Math.sum.
¿Esto qué es?
A día de hoy tenemos que hacer esto.
Básicamente, para sumar todos los elementos de un array,
la forma más fácil es utilizar Reduce, que es un poco...
No es complicada si sabes lo que hace Reduce,
pero claro, tú ves esto y, hombre, tienes que pasarle un callback,
tienes que pasarle el valor inicial
y esto lo que hace es sumar todos los elementos de este array y te da el valor.
Pues hay una nueva forma, bueno, hay una nueva forma, no.
Habrá una nueva forma que es utilizando math.sum.
Igual que tenemos el math.max, math.min para el valor máximo y el mínimo,
pues también vamos a tener una nueva que es math.sum
para básicamente sumar todos los elementos de un array.
Es verdad que sí, efectivamente, plata ya tardaba, ya tardaba.
Una copia de Python, a ver, esto no es una copia de Python,
esto es una copia del mundo en general.
El math.sum, el hecho de sumar un iterable, esto no es de Python, ¿vale?
No lo ha inventado Python.
Esto está en todos los lenguajes de programación de hace mucho tiempo
y es verdad que no sé por qué, pues no lo tenía.
En Python está el math.fsum, me parece,
pero hay un montón de lenguajes que también lo tienen.
O sea, al final es una idea del lenguaje de programación.
No es que se diga, no, pues me lo copio de Python.
Python seguramente no lo inventó tampoco.
Se pueden basar en la idea de Python,
pero que es algo bastante normal, ¿eh?
El tema, ¿pero eso no funcionaba ya?
No, math.max y math.min no, porque es que este método no existe.
Este método a día de hoy no existe.
Esto no existe a día de hoy.
Esto lo van a sacar.
Esto ya está en la fase 2.
Y lo interesante es que además podréis sumar no solo números enteros,
sino también de coma flotante y tal.
O sea, que está bastante interesante.
Y otra novedad, otra novedad, que esta me parece ya también,
es que, ojo, ojo, cuidado con JavaScript,
que tiene muy buena pinta esto,
es el hecho de que van a añadir los métodos de intersección,
de unión, de diferencia para el set.
O sea, vamos a poder crear un set, por ejemplo, con esto,
con languages, y entonces creas un set, ¿vale?
JavaScript, TypeScript, no sé qué,
y vamos a poder trabajar esto como conjuntos.
¿Conjuntos qué quiere decir?
Pues que vais a poder decir,
quiero que me hagas la unión de dos conjuntos.
Por ejemplo, aquí tengo todos los lenguajes de frontend
y todos los lenguajes de backend.
Quiero que hagas una unión,
y esto lo que hace es que te crea un set
con donde une los dos lenguajes.
Lo mismo con la intersección.
Esto normalmente es un rollazo en JavaScript importante,
porque hay que filtrar y que no sé qué.
Esto, esto es genial.
No lo podéis ni imaginar la de veces que esto nos va a salvar la vida
de hacer intersecciones, de hacer uniones,
sobre todo intersecciones.
La unión es interesante porque no añade los duplicados.
Por ejemplo, aquí en unión tenemos en frontend,
tenemos JavaScript,
y en backend también tenemos JavaScript.
Pero si hacen la unión,
lo que ocurre es que JavaScript solo aparece una vez,
no aparece repetido, ¿entendéis?
Esta es la gracia justamente que tiene el utilizar la unión,
que no te lo aparece, no te lo pone dos veces.
Y la intersección lo que hace justamente
es que aparezca en los dos sitios.
En este caso, el único que aparece en los dos sitios
sería JavaScript.
Y fijaos cómo es la API de simple y de sencilla.
También tenemos la diferencia,
donde tendríamos como un left join
y la diferencia simétrica,
que es la que no aparece en ninguno de los dos.
O sea que, la verdad, muy interesante.
Son nuevos métodos que van a llegar.
Esto va a llegar este mismo año a JavaScript,
así que nada, si pestañeáis os lo perdéis,
porque lo tiene Python, esto lo tiene hace tiempo también.
La verdad es que esto no sé si lo tenía Python,
pero el hecho de que hay un tema
que me hace bastante gracia,
que es el hecho de que cuando algo ya lo tiene,
la gente se escandaliza.
Es que esto ya lo tenía, no sé qué.
Eso es una chorrada,
porque al final, si lo miramos fríamente,
pues ¿para qué crearon Python también?
Porque ya existía un lenguaje de programación
antes de Python.
Entonces, cuando existió Python,
la gente decía,
pero si ya existía un lenguaje de programación,
¿para qué creas Python?
No sé qué.
Es que, palo, no tiene sentido.
Entonces, yo creo que es normal que cosas
que no tenía JavaScript, pues las añadan.
Y a mí me parece como siempre súper positivo.
El otro día, por ejemplo, en esto,
Héctor de León me puso un comentario
y la verdad es que fue como interesante,
porque pensé, no sé, qué tontería, ¿no?
Porque tener este tipo de mentalidad,
si algo lo tiene, nos quejamos de porque lo añade,
y si no lo tiene, nos quejamos porque no lo tiene.
Y entonces, del palo, entonces, ¿qué pasa?
Que nunca vamos a añadir nada, no sé.
Por ejemplo, ¿ves aquí?
Por fin, 15 años después de C Sharp.
Pero si no lo tiene, ¿por qué no lo tiene?
Y si lo tiene, porque lo añade tarde.
Es como del palo, no sé qué.
A ver, yo a Héctor lo único que le diría,
que es verdad, por fin, 15 años después de C Sharp,
tiene razón, pero bueno,
a ver si ahora dentro de 15 años,
C Sharp se hace relevante, ¿no?
Como si cree que es JavaScript.
No sé, se hace interesante o algo,
y así puede dejar de hacer vídeos de JavaScript,
el chaval en su canal,
y así se puede volver a dedicar al C Sharp,
hombre, que se le puede hacer un poquito más interesante.
Es broma, hombre.
C Sharp es súper interesante,
y yo he trabajado en .NET, y es tremendo.
Y además de .NET, pues obviamente hay videojuegos.
Se lo digo en broma,
pero que en serio muchas veces tenemos esta manía de,
pues esto ya lo tenía, no sé qué.
Y dices, pero qué más da, qué más da.
Pues mira, en otro lenguaje que está,
pues mejor que mejor.
Las cosas como son.
De hecho, C Sharp, la verdad es que
ha tenido un montón de cosas positivas en el lenguaje,
que muchos otros lenguajes se lo han copiado.
Y me parece bien, sinceramente.
O también, por ejemplo, SwiftUI o Jetpack Compose
son copias de React,
y yo jamás me ha ocurrido decirle a alguien,
pues eso ya existía con React,
es que no tiene sentido.
Es que me parece bien,
tiene todo el sentido del mundo que se lo copien.
Porque, coño, si se ha demostrado que tiene éxito
y que a los desarrolladores le ayuda,
ya sea el marco mental, la sintaxis o lo que sea,
pues bienvenido sea, siempre.
Siempre bienvenido sea.
Hablando de JavaScript, un cambio importante,
y esto va a volar un poco la cabeza,
es un poco raro,
pero no os asustéis con lo que os voy a contar.
Un cambio importantísimo de JavaScript, amigos.
El TC39 es el comité que básicamente es
quien va aceptando o va moviendo las propuestas del idioma,
o sea, del lenguaje de ECMAScript,
que es JavaScript,
para que vaya evolucionando, ¿vale?
Y teníamos diferentes fases.
Teníamos por aquí el fase 0, fase 1, fase 2.
Pero, ojo, ojo, porque ahora tenemos fase 2.7.
Esto no es una broma, no es una broma, parece muy raro, ¿vale?
La fase 2.7.
La fase 2.7 es muy rara.
Sé que suena muy raro.
Pero la fase 2.7 es nueva.
¿Y de qué es la fase 2.7?
La forma... ¿Cómo?
La forma en que te burlas es bullying.
¿Cómo? ¿Yo, Jorge?
La forma en que te burlas es bullying.
Eres muy pesado con tus bromas.
Joder, Jorge.
Madre mía.
Que yo le he hecho bullying.
Pero si Héctor de León me revienta.
¿Eso es bullying, amigo?
Que lo que le he hecho a Héctor de León es bullying.
Madre mía.
Una de dos.
No sé si en realidad tienes una falta de humor muy bestia,
o, y esto sí que me daría bastante penita,
te han hecho bullying y lo tienes muy en carne viva.
Y me sabes súper mal por eso.
Pero no, hombre.
¿Cómo va a ser bullying lo que he hecho a Héctor de León
si además el primero que me comenta es él en el tuit
y además lo hace como en tono jocoso?
Macho, que Héctor de León es colega, tío.
O sea, ¿qué quieres que te cuente?
Si no, yo qué sé.
Que se queje él si quiere.
No te quejes tú por él, que es un poco extraño, amigo.
En fin, la fase 2.7 van a ser las propuestas.
Era la fase 3 anteriormente y ahora le llaman la fase 2.7.
La fase 2.7 es lo que era antes la fase 3
y la fase 3 ahora es un poquito más exigente
porque vamos a tener más test sobre las propuestas que se tienen que hacer.
Y por lo tanto, cuando ya llegue a la fase 3,
va a ser todavía mucho más claro
que los navegadores tienen que empezar a soportar esa nueva feature.
Le han llamado 2.7, que la verdad parece de broma, es un poco raro, ¿vale?
Le han llamado 2.7 porque está bastante cerca del 3
pero todavía no es 3 exactamente.
Es un poco raro, pero ya os digo,
ahora habrá que cambiar esto cada vez que digan
está en fase 2, está en fase 3.
Pues ahora también puede estar en fase 2.7.
Es muy extraño, la verdad.
Pero solo que lo sepáis, pues si lo veis por ahí,
que no es que alguien se lo ha inventado, sino que es así.
¿Por qué no 2.9?
Pues pregúntale a la gente del TC39.
No sé por qué, sinceramente.
Me parece interesante, pero no tengo ni idea cuál es la explicación.
Sí que he leído como otros nombres diferentes que podían haber
y sí, decían 2.99, habían dicho y todo esto.
Las cosas como son.