This graph shows how many times the word ______ has been mentioned throughout the history of the program.
Esto de aquÃ, que es súper interesante.
La verdad es que no es una cosa que sea nueva de JavaScript.
¿Sabes? No es una cosa que acaba de salir ni...
El momento ideal para plantar un árbol es durante la estación de lluvias
en las zonas tropicales y tropicales.
Bueno, ya sabéis que es un dicho.
Es un dicho.
¡Es un dicho!
¿Cómo os ponéis?
Ahà está.
Vamos a ver.
No sé si sabéis el tema este del...
Yo sabéis que soy un gran fan del Intel,
que es un objeto que hay en JavaScript.
No sé si aquà estará, pero lo vamos a intentar.
Bueno, normalmente, por ejemplo, vamos a poner const gente del chat.
Y vamos a poner a Bárbara.
Vamos a poner Madeval.
Vamos a poner Pedro Guzmán.
¿Qué más?
Vamos a poner a Feral.
A Feral también lo ponemos.
A juguete.
Venga, ya, ya está, ya está.
Ya está, que no necesitamos a tantos.
Cosa Corión, venga.
Ya está.
Venga.
O sea, una de las formas muy tÃpicas de...
Claro, tú tienes un array y dices, vale, pues quiero listarlos y ponerlos en un string.
Lo que sueles poner normalmente es gente del chat, del chat, punto, join y coma.
¿No?
Haces una cosa asà y ya lo tienes listado por comas y tal.
Pero no está bien del todo.
No está bien del todo.
Porque es verdad que el último, si te fijas el último, deberÃa ser y Cosa Corión, ¿no?
O sea, en realidad lo que tendrÃas que hacer serÃa más bien, serÃa más complicado que esto.
O sea, vamos a ver si somos capaces.
TendrÃamos que poner slice 0 menos 1, ¿no?
No, slice.
Ah, punto slice, perdón.
0 menos 1.
Vale.
Con esto ahora no tendrÃamos a Cosa Corión.
Ahora tendrÃamos que hacer un concat.
Concat.
Bueno, o podrÃamos hacer un más.
Bueno, vamos a hacer un concat.
Join, concat.
Y aquà gente del chat slice menos 1.
Ay, esto lo he puesto mal.
Menos 1, missing semicolon.
Espera, ¿cómo come missing semicolon?
Vale.
Gente del chat slice menos 1.
Y podrÃamos hacer aquà algo asÃ, ¿no?
PodrÃamos hacer esto.
A ver, hay un montón de formas de hacerlo y ya está.
Pero, bueno, gente, para hacerlo bien tendrÃamos que hacer todo esto.
Pero hay bastantes problemas con esta solución.
El primer problema es que, obviamente, esto solo funciona en nuestro idioma, ¿no?
Porque si fuese en inglés, pues tendrÃamos que cambiar esto.
Entonces, el conector, podrÃamos decir, lang, si es en, pues, si lang es en, entonces tendrÃa que ser and.
Si no, tendrÃa que ser i, por ejemplo.
Y el conector lo utilizarÃamos aquÃ.
Y, bueno, tendrÃamos and.
Y cuando cambio a español, pues tendrÃamos una i.
Esto es bastante pirata.
Venga, vamos a poner a tab Vito, que ha hecho un montón de PRs en Codilink, ¿vale?
Entonces, esto es bastante pirata porque no lo estamos haciendo bien.
No estarÃamos haciendo bien las traducciones.
Las estarÃamos de forma muy imperativa poniéndolas a mano.
Esto no escala bien.
Esto es un rollo.
Esto es un rollo.
Ahora, desde hace tiempo, de hecho, lo podemos ver en Can I Used y podemos buscar List Format,
tenemos el Intel List Format, que además tiene un soporte bastante grande, ¿eh?
Tiene un soporte del 90%.
Es verdad que en Safari, no me acuerdo que tenÃa, pero sÃ, en Safari solo está disponible
a partir de Big Sur, de la versión 11.
O sea, que el Safari 14.1, si está utilizando un sistema operativo que no es el último,
no tiene soporte.
Es un poco raro, pero bueno, por suerte Safari no es el más usado.
Pero sà que tiene soporte, solo que en el último sistema operativo, ¿no?
¿En cuál estamos ahora?
Ah, no me acuerdo si estamos en Big Sur.
Creo que sÃ, que estamos en Big Sur.
Bueno, total, que el 90% sà que lo tienen.
Lo que serÃa lo ideal es que utilices un Polyfill.
Si necesitas soporte de Internet Explorer o de alguna versión antigua de Safari en iOS o algo asÃ.
Ah, estamos en Monterrey.
Gracias.
Pues es el penúltimo Big Sur, ¿no?
Vale.
El tema, si necesitas soporte, pues en List Format, pues instala un Polyfill.
¿Qué es esto de List Format?
¿Para qué sirve esto de List Format?
Vamos.
Pues hay un objeto que...
Onda, no está aquÃ.
No está aquÃ.
List Format...
Nah, aquà está.
Vale.
Hay un objeto en JavaScript desde hace bastantes versiones que es brutal y que tienes que dominar sà o sÃ.
Porque es que es súper necesario que es Intel.
Que Intel viene de internacionalización.
¿Vale?
Internacionalización.
O I18N, como le quieras llamar.
Pero bueno, internacionalización serÃa lo más correcto.
Y esto lo que te permite es que tiene un montón de métodos, un montón, un montón de métodos que te permite hacer traducciones, tanto de fechas, de precios, de tiempos relativos, de... yo qué sé.
Creo que también del propio idioma, también, ¿sabes? El Display Names este, por ejemplo, lo que te da es información del idioma, del paÃs, de la región, de un montón de cosas, de un montón de cosas.
Y una de ellas es el List Format, que muy poca gente lo conoce y es brutal.
¿Qué es lo que hace este List Format?
Bueno, este List Format lo que te permite es que el problema que estamos teniendo aquÃ, esta cosa horrible, lo que puedes hacer es Intel y le pones directamente...
Bueno, tenemos que poner New Intel, List Format y aquà le tendrÃamos que poner el idioma y entonces podrÃamos utilizar el format y decirle cuál es el array que queremos formatear.
En este caso, la gente del chat.
Y aquà podrÃamos ver que ya directamente con solo una lÃnea de código ya nos lo ha hecho correctamente en castellano.
Nos ha puesto aquà el i, datvito, ¿vale? Y ya está.
O sea, esto es todo lo que necesitas.
Ahora, ¿qué lo tienes que traducir en inglés? Pues nada, le pones en y vas a ver que aquà tienes.
Además, lo hace bien porque aquà antes lo hemos hecho mal porque en inglés, esto es una cosa que es diferente al castellano o al español,
es el hecho de que en el último hay que ponerle una coma.
¿Ves que en castellano no lo tiene? Bueno, en español no lo ponemos.
En inglés sà que lo ponemos, ¿vale? La última hay que ponerle una comita.
Ah, y no se ve. Perdonad. Perdonad que estoy encima. Perdonad, perdonad. Ya está arreglado. Ya está.
Vale, pues lo tenemos aquÃ. ¿Veis que en el último tiene una coma?
Esto es una cosa que normalmente no se tiene en cuenta, pero ¿por qué en MDN colocan prototype en el tÃtulo de varios métodos?
Porque está en el prototype. O sea, porque lo que te está intentando hacer es que sepas que es parte del prototype.
Por ejemplo, en este caso, no sé cuál. No sé cuál es el que dices que... Es que no sé si...
Mira, este, por ejemplo. Esto es porque el format está en el prototype del list format.
Entonces, esto es un método que está en el prototype. O sea, ya lo tienes disponible cuando hagas una instancia del list format.
Lo mismo pasa con el array. Si lo buscamos en array, array for each MDN, pues deberÃa salir en el prototype.
¿Ves? Array.prototype.for each. O sea que de todo sentido del mundo.
Vale, pues como podéis ver, en list format tenéis esto. Luego, hay un montón de...
Esto no acaba aquà porque, claro, hay gente que dice, ah, bueno, esto está bien, pero no, no, no está bien.
Tú no has visto aquà nada. No has visto todavÃa nada. El tema es que, además, en el list format le puedes pasar un segundo parámetro aquà con las opciones.
Y hasta ahora solo hemos visto como listar, ¿sabes? Como listar con el i.
Pero tú aquà lo que le puedes poner... Ay, ¿dónde tengo el foco?
Aquà le puedes decir type. Y le puedes poner que es disjunción, creo.
¿Vale? Y fÃjate lo que ha salido aquÃ. Una o.
Le puedes decir si es una conjunción, una... O sea, si es una o, un i o una o.
¿Vale? Una conjunción o una disjunción.
¿Disjunción? ¿Dijunción? ¿Cómo se llama disjunción en castellano? ¿Cómo es disjunción?
Disjunción. Vale, perfecto. Pues una disjunción. Y esto lo que te permite es ponerle una o.
¿Que parece una chorrada? SÃ, pero es que a la hora de listar la posibilidad de dar opciones,
fÃjate lo sencillo que es decir. Si es una disyuntiva. No, una disyuntiva no.
Disyuntiva está relacionado, pero no serÃa exactamente esto.
Una conjunción o una disyunción. ¿Vale? No disyunción.
Disjunción. Ponlo en chino. Bueno, pues en chino igual. En chino tendrÃas lo mismo, al final.
TendrÃas exactamente lo mismo. Y te pone todos los sÃmbolos correctos.
¿Veis que aquà nos ha puesto una coma rara? Y además aquà nos ha puesto como este sÃmbolo.
Pues esto es lo mismo. Y en japonés, pues igual.
Esto es lo... Bueno, en este caso... A ver.
Japonés no ha puesto aquà una i. Ah, porque no es asÃ. ¿Cómo es japonés? ¿Cómo es japonés?
Esto es chino. ¿Y japonés no era jp? ¿Es j? SÃ, es j. Ja. Ja. Ja.
No, jp. Pensad que era jp. Bueno, pues qué tenéis esto, ¿no?
Y esto lo que te permite es hacer una lista no solo de cosas que sean i, i, i,
sino que puede ser también o. Y también tendrÃas de... Si lo quieres listar como unidades, ¿no?
Por ejemplo, creo que hay units o units. Es unit. ¿Vale? Solo si lo quieres listar y componer un espacio.
¿Sabes? Bárbara, no sé qué, no sé cuánto. En lugar de utilizarlo como una frase.
O sea, que tendrÃas un montón. Ponlo en peruano. ¿Y en peruano cómo serÃa?
Es súper útil. Os recomiendo un montón que siempre que tengáis que hacer cualquiera de estas cosas,
que le echéis un vistazo.