This graph shows how many times the word ______ has been mentioned throughout the history of the program.
Amigos, como ya sabéis, pues esto es JavaScript.
Entonces, tenía esta página que quería que, a ver, entre todos
podíamos trabajar, bueno, podíamos hacerla, a ver qué os parecía, que es
bueno, es la típica página de JavaScript, ¿no? Que dice JavaScript is weird,
que es como raro, ¿no? Y entonces, bueno, lo típico, que se mete con JavaScript
porque tiene muchos quirks. No sé si sabéis lo que son quirks, pero básicamente lo que
significa muchas cosas raras. Entonces, vamos a jugar a este juego
en el que nos van a ir preguntando cosas, vamos respondiendo y a ver entre
todos. Intento daros una explicación que yo creo que por qué tiene sentido
o sea, lo que digo, ¿no? ¿Cuál es la explicación que hay detrás de lo que digo?
Pero ya os digo que puedo equivocarme, así que no os fíéis de lo que voy a decir, ¿vale?
Sí, sí, Menea de EFSI en desarrollo y esta semana vamos a continuarlo.
Ya os lo digo, ¿eh? Esta semana le vamos a dar a Menea de EF
seguro, seguro. Está ahí, está ahí. Lo que pasa es que
bueno, he tenido otras cosas. Este miércoles
este miércoles vamos a hacer el pre-programming con
Itziar, que lo tenemos pendiente y ya os iré avisando. Así que
el miércoles vamos a hacer el pre-programming
y a lo mejor el viernes hacemos Menea de EF o a lo mejor otro día.
Me intentaré, esta semana voy a intentar conectarme más
que esta vez un poco desaparecido de el streaming
así que no se preocupe. Vale, venga, vamos a darle
a JavaScript is weird. Venga, let's start.
A ver qué nos preguntan, va.
Joder, empieza fácil esto.
True más false. True más false.
No vale hacer trampa, ¿eh?
Voy a bajar un poquito más la música.
No vale hacer trampa. Si vais a participar
no vale hacer trampa
de mirarlo en la consola y tal.
Y además yo voy a intentar
explicaros lo que hay detrás
de lo que yo creo, ¿vale?
Creo que NAN no es. Yo creo
que es uno. Y os voy a explicar
por qué. Bueno, este
de hecho me parece bastante fácil.
porque lo que va a hacer es intentar
convertir los tipos...
Puedo estar equivocado, ¿eh? Puedo estar equivocado.
Creo que true
es uno más cero. Yo creo que va a ser uno.
Creo yo. Creo yo, ¿eh?
Sintax error seguro que no.
NAN podría ser...
Si tuviera que decir uno, diría uno.
Y si no, diría que es NAN.
Vamos a ir con el uno por ahora.
Venga. No sé si me lo dirá después.
Hostia, este es muy tricky.
Aquí. Vale.
Coma, coma, coma, punto length.
Bueno. De este yo diría...
Yo diría
que cero no es.
Sintax error tampoco es.
Lo que pasa es que...
A ver cómo os explico esto.
A ver cómo os explico.
A ver. Tengo aquí Visual Studio Code.
Sí. Vale.
Yo lo que creo que...
Vamos a ver aquí.
Es que esto es como si fuese
undefined, undefined,
undefined, undefined.
Y este...
Este no es nada.
O sea, yo creo que es tres.
Porque el último,
como puedes tener una...
Lo que se le llama una trailing coma,
no se cuenta.
O sea, este es como si no...
Esta coma es como si no estuviera.
Yo creo que es tres.
Creo, ¿eh?
Es una pena que no te diga
el resultado al momento.
¿Sabes?
Que no te diga...
Bueno, lo has hecho bien.
O sea, sería uno aquí,
dos, tres,
y el último no se cuenta
porque puedes una trailing coma.
A ver qué decís en el chat.
El tres es basura.
Para mí es basura.
Vaya, el tres es basura.
Yo creo que es el tres, ¿eh?
Tres, tres, cuatro,
dicen por aquí.
Cuatro, cuatro, tres,
cuatro, tres, cuatro, tres,
cuatro, tres.
Yo creo que es tres.
Creo que es tres.
Vamos a poner el tres.
Venga, un, dos, tres,
más cuatro, cinco, seis.
Vale, este es fácil.
Este es fácil
porque esto,
esta parte de aquí
la va a convertir en un string.
Esta parte de aquí
la va a convertir en un string.
Y por lo tanto,
es este de aquí.
¿Vale?
Porque cuando un array
se convierte en un string
por defecto,
lo separa por comas.
Pero al concatenar
esta parte con esta,
yo creo que va a hacer esta
de que no va a dejar
una coma en medio.
Yo creo que es esta.
No sé vosotros.
No sé.
Alejandro 8, 17.
Gracias por suscribirte
otra vez con Prime.
Cinco meses de antigüedad ya.
La B.
Félix dice que es la B.
Yo creo que es la B también.
Sí, ¿no?
Estamos todos de acuerdo.
Bueno,
Eduard Doguete
dice que es
la que no tiene comas.
A ver.
Si tuviera que decir,
yo diría que es esta.
Pero podría,
esta tampoco
la vería descabellada.
Pero creo que es esta.
Porque me suena
que un array
cuando se convierte
en un string.
Venga, vamos a darle, va.
Bueno, está muy fácil.
Está muy fácil
y esta me da mucha rabia.
Esta me da mucha rabia, ¿vale?
Porque esto no es un problema
de JavaScript.
Son muy pesados con esto.
Son muy pesados.
Todo el día que dicen
JavaScript is weird.
Esto no tiene nada que ver
con JavaScript.
Esto no tiene.
Mira, esta página lo explica.
Y esto,
esto ocurre
en un montón de lenguajes.
Mira,
ABAPL.
Pues PHP le pasa.
PHP, mira.
Aquí lo tenemos.
En Java creo que también le pasa.
Java también le pasa.
Le pasa a todas.
¿Qué pasa?
Os recomiendo mucho
esta página
que explican
el problema
entre comillas, ¿vale?
Del floating point map
donde ocurre este problema.
Pero básicamente
es que en números binarios
cuando haces
esta transformación
está mal.
Pero es que
me da muchísima rabia
que la gente
dice que es un problema
de JavaScript.
Y es que no tiene
nada que ver
con JavaScript.
Es verdad
que JavaScript
hasta hace poco
no tenía
un tipo de dato
donde pudieras hacer
la operación
de coma flotante
de forma correcta.
Eso es una cosa distinta.
Entonces, ¿qué pasa?
que ahora
está el big decimal
en JavaScript
que la han sacado
y ahora se puede hacer
bien esta operación.
No sé si lo...
A ver.
Big decimal
mdn.
Ah, big int.
No, big int no.
Big decimal.
Que big int.
Y hostias.
No, no.
Big decimal.
Bueno, total.
Que se puede.
Que se puede hacer ahora bien.
Bueno, se pueden hacer trucos.
Pero que esto
se puede expresar ahora bien.
Total, que esto es false.
Que ya sabemos que es false.
Sabemos que es false.
Hostia.
10,2.
Fíjate.
Esto tiene truco, ¿vale?
Bueno, a ver qué dicen.
Los que dicen eso
es porque no saben con respeto.
Totalmente.
Santi y Toby.
No tienen.
No tienen ni idea.
Es pura lógica de programación.
Efectivamente.
Ahí está.
Hace rato vi un tuit
donde se peleaban
sobre cuál es la documentación
final para JavaScript.
¿Qué dirías
que es la mejor documentación?
Midudev.
O sea, no tengo ninguna duda.
La mejor documentación
después del blog
de Midudev
es mdn.
¿Vale?
Es mdn.
Sin ningún tipo de duda, ¿eh?
Para mí es el mejor.
Si es para aprender JavaScript,
a mí me gusta personalmente
mucho JavaScript Info.
Que además está en castellano también.
Podéis cambiar el idioma aquí.
Pero si es documentación,
mdn.
Sin ninguna duda, ¿eh?
Vale.
10,2.
Hostia.
Este es tricky
porque creo que lo que pasa aquí
yo creo que lo que pasa aquí
es que va a ser 2.
¿Vale?
¿Por qué?
Porque esto en realidad
esto no es seguro, ¿vale?
Esto no hace una transformación
del 10,2 a esto.
Esto tampoco tiene ningún sentido.
No sé lo que se supone
que hace la coma aquí,
pero esto no tiene.
Tendría que ser una de estas dos.
Yo creo que es el 2
porque al final
lo que está haciendo esta coma
en realidad
es como que va a evaluar
lo siguiente.
Y entonces te va a devolver 2.
Tengo dudas
si devolvería 10.
Yo creo que devolvería 2.
A ver qué me ponéis.
A ver.
10,2.
2,2.
Yo creo que es 2.
Yo creo que es 2.
Sí, sí, sí.
La coma es punto
y la coma es punto.
Es 2, es 2, es 2.
Vale, es 2.
Vale, venga.
Yo creo que es 2.
Yo creo que es 2.
Yo creo que esto funciona
como que al final
va a hacer una evaluación
y la última
es la que se queda, ¿no?
Así que 2, venga.
Está muy fácil.
Esta tampoco es tan difícil.
A ver.
El string
al utilizar el operador este
va a pasarlo a false.
Ah, no.
A true, perdón.
Claro, esto sería un boleano.
Sería false.
Esto lo pasa a true
y esto lo pasa a false.
Entonces, false, ¿vale?
Esto es una forma curiosa
de convertir un valor en boleano, ¿no?
Hostia.
Stop cheating.
¡Qué grande!
Me ha pillado, me ha pillado.
Bueno, no.
Es que solo quería enseñar esto.
Quería enseñar esto.
Que es como hacer esto, básicamente.
Esto de aquí es como hacer esto.
A mí me gusta más poner el boleano.
No sé.
Por si...
A mí me gusta más esto.
Poner boleano.
Que no hacer esto.
¿Por qué?
Porque se lee mejor, ¿no?
Si tu intención es convertir un valor en boleano,
pues, hombre, pues pon boleano
y creo que se entiende mejor
que no hacer esto.
Que hay veces que lo tienes que explicar.
A lo mejor se te puede escapar
más de uno.
Yo creo que es más legible.
Pero bueno, cada uno que haga lo que quiera, ¿eh?
O sea que...
Si esto es false, lo pasa true,
pues nada, false, ¿vale?
Hostia, este es un poco más tricky, ¿eh?
Este es un poco más tricky.
A ver.
Me encantan estas cosas
porque te hacen un poco pensar, ¿vale?
Yo creo que esta...
Lo importante es esta parte de aquí.
De derecha...
Este tipo de problemas,
que son una chorrada, ¿eh?
O sea, al final no es tan importante...
No es tan importante sabértelas.
Estas cosas son más curiosidades.
Pero bueno, hay veces que así sabes un poco
cómo funciona realmente el lenguaje.
Y el dominarlo hace que no te piden estas cosas.
Entonces, yo creo que hay que leerlo
un poco de derecha a izquierda.
Yo creo que lo importante es tener
que el array vacío,
si tú le pones la exclamación aquí,
esta parte de aquí va a ser false.
Entonces, si le ponemos
esta exclamación de aquí,
va a ser true.
Más uno true, sería uno.
¿Por qué?
El true, cuando lo conviertes en un número
con el unary operator este,
creo que es un uno.
Lo podemos mirar aquí con el cheating.
Pero yo creo que esto...
A ver...
Sí, de hecho, esto es similar
a lo que hemos visto antes, ¿veis?
Entonces, yo creo que es uno,
en este caso, ¿vale?
Esto, lo evalúas a un booleano,
es false, lo pasas a true,
y true, uno.
Ya está.
Fácil.
Bueno, fácil.
Queda más cheto, sí.
Cuidado que tiene un espacio.
¿Dónde está el espacio?
Hombre, no, no.
Parece que tiene un espacio.
No tiene espacio.
Está cheating.
No, os estoy...
A ver, os estoy diciendo
primero la respuesta
y luego la estoy explicando, hombre.
No, os he dicho al principio
que era uno
y luego os he explicado
porque creo que es uno.
No estoy cheating.
Estamos haciendo...
¿Cómo que trampas?
Que no he hecho trampas.
Pero qué fuerte.
¿Pero qué me estáis contando?
Os he dicho primero la solución
y luego la estábamos haciendo.
Hay que ver.
Hay que ver.
Juez, señor juez.
A ver, más false sería cero.
¿Ves?
Más true sería uno.
Entonces...
Hostia, no sé si se ve.
Sí, se ve justo.
Elismer, gracias por suscribirte con Prime, hombre.
Muchas gracias.
Entonces, yo creo que esto es uno.
Yo creo que esto es uno.
Es un rollo que esto...
Vamos a ver al final cuánto vamos a hacer.
¡Hostia!
A ver, este tampoco debería ser...
Esto no es muy difícil.
True.
Esto es false.
True.
Pues false.
¿No?
Este es fácil.
Eh...
True...
Bueno, este es un poco...
Bueno, este...
Este es true.
¿No?
Hostia, espérate.
True.
Igual, igual.
True.
Pues ahora tengo dudas, ¿eh?
True.
Igual, igual.
Claro, son dos iguales.
True.
Claro, es que esto es lo típico, ¿no?
Que dice...
¿Cómo funciona?
Esta es interesante, ¿eh?
Yo creo que...
Igual es false, ¿eh?
Fíjate, igual es false.
Porque un fallo que a veces cometemos
es el hecho de pensar que iguala los tipos y no sé qué.
Miran, estoy...
Estaba escribiendo un libro de JavaScript y hablo sobre esto.
Sobre el...
Algorithm Check Comparison JavaScript.
Este.
JavaScript Equality Comparison Algorithm.
Y es complicado.
El algoritmo no es tan fácil como uno cree.
¿Sabes?
Que tiene un montón de...
A ver si sale esto.
Es una matriz, ¿no?
Yo creo...
Yo creo que esto...
Igual es false, ¿eh?
Porque, claro, el primero es booleano.
Entonces, si el primero es booleano y el segundo es un string...
Esto no sí es un número y es un string.
Es un poco distinto.
Yo creo que es false.
Es true porque evaluará la cantidad del tamaño de caracteres, ¿no?
No.
No va a evaluar el tamaño de caracteres.
No.
Estás comparando un boolean con un string.
Claro.
Pero aquí está lo difícil, ¿eh?
Mira.
Si yo busco...
Si yo utilizo...
¿Veis que aquí tiene dos iguales?
No es lo mismo.
O sea, si yo utilizo tres iguales...
Está clarísimo.
¿Ves?
Con tres iguales...
Esto está clarísimo que es false.
Esto está clarísimo.
Pero con dos iguales, ¿qué pasa?
Que si vosotros ponéis, por ejemplo, uno, igual, igual, true, de esta forma, pues
esto...
Vale, mira.
Esto también es false.
Y si ponemos así, true, así, y ya ponemos uno, también es false.
Hmm.
Ajá.
O sea, que va a ser false.
Pero hay veces que puede ser un poco tricky porque si te pones a comparar...
Por ejemplo, esto...
No.
A ver.
Esto sí que tiene que ser true, ¿vale?
¿Veis aquí?
Que sí que está haciendo el cambio de tipos.
Esto es...
Es que este es un problema que se suele decir, ¿no?
Que dice que cuando utilizas los dos iguales, hace una transformación de tipos.
Pero esto no es verdad.
Esto está mal.
Cuando la gente dice esto, eso no está bien.
No es cierto del todo.
Solo lo hace a veces.
Y claro, siendo este un boleano, no creo que de repente este boleano, este string lo convierta
en boleano.
No va a funcionar así.
Yo creo que esto es false.
Yo creo que esto es false.
Coño.
0,10 menos 0,3.
A ver.
0,10 menos 0,3.
El problema de cuando empieza un número en 0 es que el...
Esto utiliza otra base, ¿no?
Esto utiliza otra base.
Especialmente este.
Este no sé si está entendiendo que es un número binario.
Pero claro, este que está entendiendo.
Buah.
No tengo ni idea.
Ni idea.
En este caso no tengo ni idea.
No creo que esté entendiendo que es un número binario.
Está claro que está entendiendo que es otro número.
O sea, esto no es 7.
Eso lo tengo clarísimo.
Porque al empezar por 0, esto no va a entender que es 7.
3.
No creo.
Nan.
Estoy bastante seguro que no.
Me quedaría con el 5 por descarte.
Porque el 7 estoy seguro que no es.
El 3.
Ya sería casualidad.
Que saliendo esto el 3.
Y el nan estoy seguro que no.
Algo saldrá.
Pero no.
No va a salir así.
Octal.
Muy bien.
Muy bien, Svaldez.
Exacto.
Sería un octal.
Entonces, bueno, este sí que puede ser 3.
Claro, pues esto sería 8.
8 menos 3, 5.
Vale.
Muy bien, ¿eh?
Lo de octal.
Es verdad.
Base octal.
Ahí está.
Exactamente.
Yo creo, entonces, que sería 5.
¿Vale?
¿Por qué?
Porque en octal esto es 3, pero esto es 8.
Porque, claro, esto va a dar 0, 1, 2, 3, 4, 5, 6, 7.
El 8 no lo pueden mostrar.
Entonces, ya empiezas por el 1 en el siguiente lugar.
Yo creo que esto sería 8 menos 3.
Porque el 3, esto sí que sería 3.
Porque 0, 3 sí que sería 3.
5.
Yo creo que sería esto.
¿Por qué 0, 10 es 8?
Mira.
Cuando hablamos de, por ejemplo, un número binario.
Un número binario, tú cuántos, cuando es binario,
es que solo tienes dos números que puedes utilizar para representar el número.
El 0.
Voy a hacer un poco más grande esto.
A ver si lo puedo...
Bueno, es un poco limitante esto.
Mira, te lo voy a poner aquí.
¿Dónde tengo?
Espérate.
Que tengo aquí un editor abierto.
Vale.
Cuando tú tienes, por ejemplo, aquí, vamos a poner que esto es JavaScript.
JavaScript.
Un número binario, pues solo puedes utilizar el 0 y el 1, ¿no?
Porque es binario, que son dos números que puedes utilizar para representar números.
Por lo tanto, puedes utilizar el 0, que esto es 0.
El 1, que esto es 1.
Pero claro, ¿cómo es el 2 en realidad, no?
Pues el 2, para poder representarlo, tienes que hacer 1, 0.
Entonces ya tendrías el 2 en este caso.
Así es como se representan los números de forma binaria.
Claro, el 3, pues aquí tendrías el 3, con un 1, 1.
En el caso de base octal, ¿no?
O sea, que sería base 8, puede representar el 0, el 1, el 2, el 3, el 3, 4, 5, 6, 7.
¿Por qué tienes 8 números?
La base es 8.
Y lo vas a entender mejor cuando pienses en la base 10.
La base 10 tiene todos estos números.
7, 8, 9, ¿vale?
Y esto sería base 10.
Porque contando todos estos números, tienes 10.
Puedes ir del 0 al 9.
El 0 cuenta, son 10 números que te permiten representar números.
Ahora, si la base es 8, esto significa que tú tendrías 0, 0, 0.
Esto sería 0, 0, 1, sería el 1.
0, 2, sería el 2, ¿no?
Hasta que llegues al 7, ¿no?
0, 7, esto sería el 7.
Pero si quieres representar el 8 y solo tienes 8 números para representarlo, ¿qué significa?
Que tendrías que saltar de posición.
Y ya tendrías 1, 0.
Y el 1, 0, sería el 8.
Y así seguirías, ¿no?
1, 1, y esto debería ser el 9, y pa, pa, pa, pa, y así sería.
Esto, si lo piensas fríamente, es exactamente lo mismo que tienes con los números en decimal.
Exactamente lo mismo.
O sea, en decimal, en base 10.
Porque si quieres representar el 10, ¿cómo lo haces?
10, ¿no?
Ya saltas del 9 al 10.
Y luego para representar el 11, haces el 11.
Entonces, esto sería lo mismo.
Cuando quieres representar el 8, al final tendría que ser 10, porque ya has utilizado todos los números.
Pero piénsalo así.
El binario es 0 y 1.
Cuando es base 8, significa 0, 1, 2, 3, 4, 5, 6, 7, y ahí se queda.
Así sería un poco la forma rápida.
Base hexadecimal, por ejemplo.
Por decir hexadecimal, ¿vale?
Pues tendrías el 0, el 1, el 2, el 3, el 4.
Entonces, tendrías todos los decimales, pero hexadecimal significa que tienes más.
Por lo tanto, como te has quedado sin números, tendrías A, B, C, D, E y F.
Y si cuentas todos los números que tendrías disponibles aquí, pues tendrías 10, 11, 12, 13, 14, 15.
Hexadecimal es 15.
Por lo tanto, puedes empezar a representar números con esta base.
Así que cuando quieras representar el 11, utilizad la A directamente.
Ah, y la B, perdón.
El 10 sería la A.
Eso sería un poco, ¿vale?
Perdón, me había dicho 15.
Claro, serían, estos son 10, 16, perdón.
11, 12, 13, 14, 15, 16, perdón.
Que he dicho 15, porque no he contado 0.
Bueno, ahí tenéis un poco de matemáticas.
Ya os he contado un poco de matemáticas.
Con esto ya sabemos que 8 menos 3, 5.
Joder, macho.
A ver, yo creo que esto no funciona.
Creo.
Ahora tengo dudas.
Pero yo creo...
Hostia.
A ver, joder, qué difícil.
Menos menos.
Hostia, no sé si es un syntax error o es un 0.
¿Por qué?
¿Por qué?
A ver.
¿Qué pasa?
Hay veces que hay que leerlo de derecha a izquierda.
Por lo tanto, esta parte de aquí la podría transformar en un número.
Y esta parte de aquí, intentarla, restarla a este número.
Y claro, como esto no tiene valor y esto no tiene valor.
O sea, al representar estos números debería ser 0.
Igual es 0.
Esto seguro que no.
Porque estos menos menos no creo que te hagan esta magia de dejarte aquí un string vacío ni en broma.
No sé si es syntax error o 0.
En an no creo.
No creo.
Si fuesen con strings o con números y tal, a lo mejor.
Pero no, no, no.
Yo creo que esto...
Ah, no sé.
A ver qué decir.
0.
Un menos queda claro seleccionar el carácter.
Syntax error, dicen por aquí.
¿Es un menos o un underscore?
Es un menos, ¿eh?
Yo he entendido que es un menos.
Si fuese un underscore, estoy seguro que peta.
Siempre se lee de izquierda a derecha.
No, no te creas.
Hombre, siempre se lee de izquierda a derecha, pero tú no estás leyendo de izquierda a derecha registro y intal.
En el sentido de que, claro, registro y intal dice, siempre se lee de izquierda a derecha 0 menos 0.
Hostia, pero no has leído de izquierda a derecha porque esto no es 0.
Y esto lo has convertido en número por algo y esto también.
O sea, hay veces que hay operadores que sí que te pueden permitir hacerlo...
¿Hay un espacio entre los menos?
Sí, hay un espacio aquí.
Hay un espacio.
Es que, claro, no sé qué va a hacer exactamente esto.
Aquí me han pillado.
Lo reconozco.
Tricky.
Sí, tricky.
Totalmente tricky.
Me han pillado.
Lo reconozco.
Lo reconozco.
Vamos a poner el 0, ya que nos lo ha puesto nuestro amigo registro intal.
Y porque creo que puede ser 0.
Estoy seguro que este y este no son.
Estoy entre el 0 y el syntax error.
Vamos a ir a por el 0.
Vamos a fiarnos en registro intal.
No, no vamos a hacer cheat de este.
No vamos a hacer trucos.
Va.
Bueno, null más 0.
A ver, null más 0.
Este yo creo que es más fácil.
Yo creo que este es 0.
Este es 0.
Null más 0, 0.
Yo este sí que lo veo claro.
Y en este caso entiendo que al intentar hacer la suma convertirá el null a número y va a ser 0, 0 más 0, 0.
Este sí que, este lo veo bastante claro.
Esto, esto no, esto no.
Esto lo dudo.
None.
Puede ser, type error no.
O sea, en JavaScript el type error.
A ver, JavaScript lo ha hecho gente que son vikingos, hombre.
Type error.
Qué va.
Esto puedes sumar lo que te dé la gana.
Gallinas con cabra, lo que te dé la gana.
Null más 0.
Yo creo que es 0, va.
Hostia, 0 partido 0.
A ver, este sí que, este es mítico, eh.
0 partido 0 creo que es none, que es not a number, ¿vale?
No puede ser infinity.
Syntax error no, porque no está mal.
O sea, está bien.
Y es none.
No revienta nada.
Que mucha gente diría, hostia, que explota.
No, no explota.
Pero no es un número.
No se puede dividir entre 0.
Es not a number.
0, no.
Infinity, no sé si infinity podría ser.
O sea, podría tener sentido pensando un poco matemáticamente.
Pero, no, yo creo que es none.
Bueno, creo no.
Estoy bastante seguro que es none.
Hostia.
1 partido 0 es mayor que math, pao.
Hostia, es que el problema este es que si none es mayor.
A ver, entiendo que es false.
No, porque esto es not a number.
Hostia, no sé si 1 partido entre 0.
1 partido entre 0.
Hostia, no.
Claro.
Ojo, ojo, ojo, ojo, ojo, ojo.
Vale, vale, vale.
Qué cabrones.
Ojo.
Es que el 0 partido entre 0 es not a number.
Pero cuando tú divides un número partido entre 0, esto es infinity.
Entonces, aquí la pregunta es si infinity es mayor a un número muy grande.
Yo creo que es, claro.
Yo creo que sí.
O sea, creo que esto es true.
Parece mentira, pero creo que sí que es true.
Es verdad.
Claro, cuando tú divides un número entre 0 es infinity.
Yo creo que esto es true.
Vale, ya me han spoileado aquí.
1 partido entre 0 es infinity.
0 partido entre 0 no puede ser infinity porque el límite por izquierda es menos infinito y por derecha es infinito.
Efectivamente, Ellis.
Muy buena explicación de matemáticas.
Ahí está.
Ellis Merth dice, 0 partido entre 0 no puede ser infinito.
Porque el límite por la izquierda, o sea, cuando tú te vas acercando al 0, es menos infinito y por la derecha es infinito.
O sea, que no puede ser.
Por eso es not a number, porque es un número indefinido.
Pero 1 partido entre 0 sí que puedes saber que es infinity porque te vas acercando.
Pero ¿cuánto vale infinity?
Infinity es el número más grande.
Debería ser el número más grande.
No sé si se puede comparar infinity con un número.
¿Sabes?
O sea, infinity mayor a 3, por ejemplo.
Pero yo creo que sí.
O sea, infinity será el número más grande.
No, no sería infinity.
Que sí, que sí.
1 partido entre 0 es infinity.
Bueno, yo creo que sí.
¿No sería también infinity?
10 elevado a...
No, pero esto es infinito positivo.
Vamos, que es true.
A ver, esto será un número muy grande.
No sé si esto va a petar.
El mathpaw 10 partido...
O sea, 10 a la 1000.
No creo que pete.
Bueno, no sé.
Igual es muy grande este número.
Hombre, puede ser muy grande.
Igual sí que lo supera.
Igual infinity...
No sé.
Yo voy a poner true y ya está.
Si no, es que no sé.
Esto es demasiado.
Venga, true.
Vamos a darle true.
No, no sabemos qué estamos haciendo.
Peta, peta.
¿Cómo que peta?
¿Cómo que peta?
¿Serio peta esto?
No creo, ¿no?
False.
Vaya.
No me gustan las mates.
A mí tampoco.
False.
Se va infinito.
Vale, ahora dice que es false.
Infinito no es un número.
Es la expresión de un límite.
Sí, pero si tú comparas infinito...
O sea, 2 es mayor que infinito.
Te va a decir que 2 no es mayor que infinito.
O sea que...
Yo creo que sí que peta.
¿Sí?
Mathpaw 10 elevado a la 1000.
¿Tan grande es este número?
A ver.
Max number...
¿Cómo es el...?
Se puede mirar aquí el max number...
¿Cuál es el número máximo que se podría representar?
Que no me acuerdo.
Max...
Oh, number...
Joder.
¿Cómo era?
¿Integer?
No.
Max number integer JavaScript.
Coño.
Integer...
2 millones...
Hostia, pues igual sigue peta, ¿eh?
Este, max save integer.
Eso.
Ahora, ahora.
Es en number.max save integer.
¿Sí?
Mathpaw 10 a la 1000.
Hombre, son muchas multiplicaciones.
Va, pues ya está.
Infinito es mayor que infinito.
False.
Vale.
Tenía razón.
Tenía razón.
Tenía razón.
Tenía razón.
10 elevado a la 1000.
La verdad es que, claro, no suelo multiplicar 10 elevado a la 1000 en mi día a día, ¿sabes?
No voy al supermercado y digo, por favor, ponme 10 elevado a la 1000 de vainilla.
De helado de vainilla, que me gusta mucho.
Así que no tenía muy claro cuál era el...
True++, hostia.
A ver, yo creo que True++, esto sí que es un syntax error.
Porque no lo puede incrementar, undefined.
Hombre, un none.
Nah, pero yo creo que es un syntax error.
A ver, el problema del más más ya no es solo el hecho de que intente transformarlo a un número, ¿vale?
Porque si fuese True++, bueno, pues True++ sería 2.
¿Por qué?
Porque lo transformaría en número.
El problema del True++ es intentar asignarlo a True.
Y yo creo que ahí es donde está el problema del syntax error.
Si tú haces más más, no solo lo incrementas en uno, es que se supone que asignas el nuevo valor a la variable que estás incrementando.
Por lo tanto, no tiene sentido.
Esto es...
Yo creo que esto sería el mismo error que si haces 2++ o yo qué sé, algo así.
2++ seguramente petaría.
Yo creo que van por ahí.
¿Vale?
Dicen por aquí que error, error, es que cualquier número dividido entre cero es indeterminado.
Sí, bueno, a ver.
Una cosa son las matemáticas y otra cosa es JavaScript, ¿vale?
Hola, Damián, ¿cómo estás?
¿Por qué 10 elevado a la 1000 es tan grande como Infinity?
Muy bien, ahí está.
Estamos con el otro.
El 2, ¿no?
El 2, no, no.
El 2 no es.
El 2 no es.
True++ es syntax error.
Seguro.
Esto no puede funcionar.
Si esto...
2++ peta.
Sí, sí, sí.
Estoy seguro, ¿eh?
Qué peta.
A ver, no lo he intentado, ¿eh?
A ver, una cosa.
Las cosas que voy diciendo es recordando, ¿vale?
Hay recordando...
O sea, que igual estoy equivocado.
Las cosas que digo luego las revisamos si queréis.
Pero yo creo que si pongo aquí 2++, esto peta.
¿Ves?
Vale.
Os voy a enseñar el error para que lo veáis bien porque no lo estaréis viendo, ¿vale?
Lo tengo por aquí, mira.
Vale.
2++ peta.
Porque dice invalid left hand side expression in postfix operation.
Claro, tú estás aquí intentando incrementar un número y asignarlo al propio número.
Nada, que no tiene sentido.
No tiene sentido.
Y esto igual.
Esto también peta.
Todo esto va a petar.
Todo lo que pongáis así, que no sea esto una variable, esto va a petar.
Y por lo tanto, lo que os he dicho antes, el syntax error este peta seguro.
O sea, esto es un syntax error como una casa.
Vale.
Vale.
A ver.
Menos 1.
O sea, un string vacío menos 1.
A ver.
Creo que es menos 1.
Porque el 0 lo va a transformar.
O sea, lo va a transformar.
El número, lo típico.
Esto es un poco repetitivo ya, ¿eh?
O sea, esto creo que es lo mismo.
Notanumber.
No, yo creo que no deberías infinito por una cuestión de practicidad.
Si estás operando en esas cantidades, usarías otro tipo de dato.
Os habéis quedado, ¿eh?
Con lo del infinito no os ha gustado.
¿El nan qué era?
El nan básicamente es un número que significa que no es un número.
¿Vale?
Not a number.
Nan es not a number.
¿Vale?
No es un número.
En este caso, en este caso, es menos 1.
Vale.
Te ponen aquí dos strings.
Encima de estos dos strings nada.
Menos 1.
Hostia.
Null menos 0.
Yo creo que esto es 0.
Yo creo que...
Yo creo que null...
Null menos 0 es 0.
Más 0.
Claro, el problema aquí es...
0 más un string de 0.
Yo creo que es el 0, 0.
Sin alcohol.
Creo que es este.
O sea, esto es 0.
¿Vale?
Esto lo hemos visto antes, no.
Yo hemos creído que era 0.
Pero sí, yo creo que esto es 0.
El problema aquí es...
Esto es un número y le hago más string concatenación.
O sea, 0, 0.
Y esto es un 0 más otro 0.
Transforma al primero en un string y 0, 0.
0, 0.
Joder.
Otra vez.
True menos 0.
Claro, true string menos 0.
Más true...
Esta parte de aquí sería 1.
Lo que tengo dudas ahora es de esta parte de aquí.
O sea, el true menos 0...
True menos 0.
Yo creo que esto...
Hostia, esto yo creo que esto no funciona así.
Si fuese al revés...
Bueno, pero es que es el más.
Es que es el menos.
El menos tiene más peligro.
Porque el menos parece...
El menos no funciona como el más.
Que el más sí que se puede concatenar.
¿No?
Y ahí te puede liar.
El más te puede liar con el string.
Pero el menos no funciona con los strings.
¿Vale?
Entonces, aquí, esta representación...
Esto será un notanumber.
Y true más notanumber...
Supongo que es un notanumber otra vez.
Digo yo.
O sea, esto ya será notanumber, notanumber, notanumber.
A ver qué me decís.
A ver.
Notanumber, hidratación.
Vale.
Gracias, Juan Semprun, por pagar.
Y Biciliaco, gracias por suscribirte con Plan, que no he visto.
Elismurf, también a ti.
Muchas gracias a los dos.
Syntax Error no es.
El Syntax Error es que...
El Syntax Error es que haces algo muy raro.
Muy raro.
O sea, un Syntax Error sería...
Yo que sé.
Es que aquí no hay un error de sintaxis.
Habría, en todo caso, un error de tipos.
Que no lo hay tampoco, ¿eh?
Syntax Error tiene que ser algo que no tenga sentido léxicamente en la sintaxis.
Y esto tiene sentido en la sintaxis.
Entonces, yo Syntax Error, yo lo descarto.
Luego podemos entrar al resto.
Pero, ¿qué pasa?
Que yo aquí ya, este string menos un número, esto es un notanumber.
Si fuese esto un más, podría tener dudas si a lo mejor sea truce cero o algo así.
Pero esto es un notanumber.
Y true más notanumber, pues no será un número.
Karatsumo, gracias por suscribirte con Prime.
Muchas gracias, hombre.
True más none va a ser none.
Venga.
Venga, que solo quedan seis.
Hostia.
Esto es...
Esto es...
A ver.
Cuando tú haces...
Ah, no, no.
Es al revés.
No, no.
Pensaba que era el factorial.
No, no, no.
A ver.
Esto será false.
Entiendo, ¿no?
Porque cualquier número que tú lo niegues será false.
False más false.
Cero.
Dios mío.
Dios mío, es verdad que es un poco raro ya va a escribir.
A ver.
A ver.
Vamos a ver.
A ver.
Es que los demás no tienen sentido.
Este no tiene sentido.
Este no tiene sentido.
Esto si fuese el factorial, pero es que no es el factorial.
Este yo creo que no tiene sentido.
Esto es un false más false.
O sea, que es cero.
O sea, esto sería...
Aquí.
Vamos a ver a la consola un momento.
¿Vale?
False más false.
Yo digo que es cero, ¿eh?
False más false.
Cero.
Si es false, es como decir cero más cero.
Cero más cero.
Venga.
Hostia.
Ya estamos con este que este también es un poco tricky.
El de los dos...
Vale.
A ver.
Este no es tan tricky.
Este es facilillo.
Facilillo.
Si fuese la factoría sería 50.
Claro.
Por eso el 25 no te da sentido.
A ver.
¿Sabéis una cosa de los truquitos estos de JavaScript que dicen que cómo es tan difícil,
no sé qué, JavaScript y esto, lo otro?
A ver.
Lo cierto es que el tema...
Es que muchas veces...
¿Veis que utiliza mucho el más, el más, el más, el más?
Porque el problema está aquí.
La concatenación.
Cuando tú haces la concatenación, por ejemplo, aquí está clarísimo que es este, ¿vale?
Es el string vacío.
¿Por qué?
Porque tú no puedes sumar dos arrays.
Entonces, cuando haces el más, tienes que pensar, ¿cómo está entendiendo JavaScript este más?
¿Cómo lo está entendiendo?
Pues si no puedes sumar arrays, lo que va a estar haciendo es llamar al toString.
Y al llamar al toString, esto será un string vacío, un string vacío y entiendo yo que esto será un string vacío.
Porque no te puede devolver un array porque no sabe sumar dos arrays.
No sabe.
No tiene ni idea.
Esto tampoco.
O sea, tampoco.
El none no porque va a llamar porque no sabe que son números.
Entonces, un none sería si hiciese una operación con números e intentase sumar algo que no tiene sentido.
Pero es que aquí, este más básicamente dice, ¿para qué puede ser el más?
¿Para sumar números o para sumar strings?
Y ya está.
Entonces, lo que está diciendo aquí es, vale, yo tengo un array vacío, lo convierto a string.
Tengo un array vacío, lo convierto a string.
String vacío.
O sea, y cuando digo vacío es un string sin espacios ni nada porque no tiene elementos.
Si tuviese elementos ya sería otra historia.
Así que esto va a ser un string vacío.
Porque muchas veces es tener esto claro.
Si habéis visto muchas veces, muchos de los problemas que hemos visto eran más bien esto, ¿no?
De, ah, ¿va a llamar al tu string o va a llamar al number?
Y muchas de las preguntas que nos han hecho han ido por ahí.
Que sí, que ya va a escribir raro.
Pero es que, claro, si haces 20 preguntas sobre lo mismo todo el rato, pues claro que lo vas a ver raro.
Pero es que esto, ya os digo yo, que es un string vacío.
Claro, lo difícil es decir, ¿cuándo va a llamar?
¿Cuándo va a llamar a la concatenación de strings?
¿Y cuándo va a llamar a la de números?
Eso sí que puede ser difícil.
Lo que os puedo asegurar es que no va a llamar a la de números a no ser que haya algún número entre los operandos.
Si no lo hay, no lo va a llamar.
Hay veces que eso sí podemos tener dudas, por ejemplo, en el típico, ¿no?
Tú tienes un string más uno.
En este caso es 11, pero si es al revés, pues también lo concatena.
Ahí puedes tener la duda, ¿no?
De qué es lo que hace, ¿ves?
Aquí, cuando tiene un string, ya utiliza la concatenación.
Si tienes los números, pues entonces utiliza el...
En cuanto detecta que tiene unos que sea string, ya lo va a intentar concatenar.
Si no tiene un número, lo que va a hacer es intentar el string.
O sea, que el string es por defecto.
Ahora, una vez que encuentra que son tipos, pero no tienes un string, que tienes un número, pues va a intentar el número.
Ya está.
Así de claro.
Hay veces que puede ser que tengas algún problema y tal, pero con que te quede claro.
De base, string.
Si ves uno de los strings, va a intentar la concatenación.
Si ves uno de los números y no ves algo que sea algo, un string, va a intentar el del número.
Ya está.
Entonces, en este yo tengo clarísimo que es este.
El string vacío.
Este creo que también, igual, este es false, creo.
A ver, notanumber...
No, sí, este es false.
Este es false.
No pueden ser notanumber true.
Existen reglas en la especificación de JavaScript que definen cuándo se llama uno u otro.
Son varias cosas que tienen en cuenta que es difícil recordar las cosas.
Totalmente cierto.
Es difícil recordar cuándo va a utilizar concatenación y cuándo número.
Pero, lo que os digo, de base, pensad en string.
Si hay un string, ¿sabes?
Si uno de los dos es un string, va a utilizar el string seguro.
Bueno, seguro.
Casi seguro.
O que yo recuerde, seguro.
A no ser que no haya ningún string y haya algún número.
Entonces, en ese caso...
O sea, vamos a seguir aquí.
Este es false, ¿vale?
Está en nada.
Type error true.
Aquí uno podría pensar que es true y con razón, ¿vale?
Pero es false.
Porque un notanumber no es un valor.
Es como una referencia también.
Matt Grebs, también.
Muchas gracias por suscribirte con Prime.
Muchísimas gracias.
Pues, yo creo que es false, ¿vale?
Esto es lo mismo.
Esto es un syntax error de libro.
Cualquier...
Mmm.
Qué cabrones.
Qué cabrones.
Esto puede funcionar.
Es que, claro.
Es que el notanumber es de window.
O sea, es un...
Claro, es window.nan.
Claro, claro.
Esto sí que puede funcionar.
Es que esto no es un valor, ¿vale?
No es como el dos más más.
Porque el dos es un valor.
Pero el notanumber, que parece un valor...
Porque, claro, nosotros lo utilizamos del window...
Hostia, menos mal.
O sea, es que es muy tricky, ¿eh?
Pero, claro, te pones a pensar un momento...
A ver, notanumber...
¿Ves que parece un valor?
O sea, tú lo pones ahí y parece un valor y ya está.
Pero esto en realidad viene de window.nan.
¿Vale?
Entonces, como es una propiedad de un objeto que es window...
Ahora tengo dudas.
Si hace un syntax error o simplemente hace un none.
¿Sabes?
Por ejemplo, para saber si esto...
Sin hacer esto, ¿vale?
Si yo hago window.nan e intento ponerle dos...
¿Ves que no ha petado?
Aunque no lo sobreescribe, ¿ves que esto no ha petado?
No es lo mismo que si yo hago dos igual a dos.
Esto no tiene sentido.
Pero esto es una propiedad de un objeto.
Pues esto va a funcionar.
Y seguramente será none porque si incrementas none y...
O sea, sea none, pero no le cambiará el valor.
O sea, tú intentas cambiarle el valor, no funciona.
Pero no va a petar.
Qué fuerte, ¿eh?
Qué truco más chungo.
En node, ¿qué sería?
En node sería lo mismo que estamos viendo, ¿eh?
En node es javascript y sería exactamente lo mismo.
Sería un false++.
No sería como un false++, ¿eh?
Es justamente lo que pensaba al principio.
¿Por qué?
Porque un false...
Un false, tú no puedes asignarle nada a false.
¿Ves?
Que te peta.
Pero en cambio none es la propiedad del objeto window.
Window como es global, ¿eh?
O sea, global.nan, globalthis.nan.
Es lo mismo.
Así que en node sería exactamente lo mismo.
No.
Bueno.
Sí, no, ¿eh?
Dice none viene de number.nan.
No.
Eso es interesante, pero no.
Tenemos dos none, ¿vale?
Cristian, tenemos dos none.
Tenemos el number.nan, que es uno, y tenemos el window.nan, que es otro.
Son dos diferentes.
Es muy raro, pero son dos diferentes.
Ahora, si me preguntas la diferencia, sé que el number.nan es más nuevo que el otro, ¿vale?
El window.nan es más viejo.
La diferencia, la vamos a ver porque no me acuerdo, pero hay una diferencia sutil.
De hecho, la que se recomienda utilizar sería el number.nan y el isNan también.
No sé por qué, pero sí.
El valor...
Pues no, tenías razón.
No me voy a retractar.
Porque dice aquí, el valor inicial de none es el mismo valor que number.nan.
Tenías toda la razón.
Me he equivocado.
No volverá a ocurrir.
No.
Lo que pasa es que entonces es este, el number.isNan.
Este es el que es diferente, que me he equivocado.
Porque este antes estaba en el window.
Y este es el que decían...
Este es el que decían...
Vale.
A ver.
Window.isNan.
Pues este es el que decían.
Este es el que es diferente.
Perdón, ¿eh?
Este es el que es diferente.
El number.isNan.
Y hablando force, cuando comprobar es none.
En comparación, mira, ves, es este.
Me he equivocado.
Me he equivocado.
Perdón.
Me he equivocado.
Window.nan.
Sí, como dice Juanjo, no estaría disponible en none.
Cuando decimos window, imaginad global, ¿vale?
El objeto global.
Puede ser window.nan, como que puede ser global.isNan.
¿Vale?
Es lo mismo.
Y tenía razón Cristian, que dice, pero cuando decía que el none de
window viene del number.nan.
Es verdad.
Yo me estaba confundiendo.
Y el que quería decir es el number.isNan.
¿Vale?
Que determina si un valor es none o no.
Pero veis que pone que es una versión más robusta de la función global.isNan.
Porque en window.isNan o global.isNan hay una función que es ligeramente diferente a la de number.isNan.
Perdón.
Me he equivocado.
No volverá a ocurrir.
Pero sobre esto, yo digo que esto es none, ¿vale?
Por todo lo que os he explicado.
Así que esto era lo importante.
Esto es none.
Joder.
Ya estamos otra vez.
In the finite más false.
A ver.
Este sí que es none, ¿vale?
Porque, mira, ¿ves?
Aquí tenemos un string.
No.
Por lo tanto, esto no puede ser un string.
O sea, no es que no hay un string.
Sino que el undefined convertirlo a un string no se puede.
Por lo tanto, no sería, por ejemplo, un string vacío.
Este no sería.
Este no sería.
Es que undefined no tiene un valor asociado.
O sea, va a ser none.
El false sí que sería cero, un string vacío y tal.
Pero undefined más lo que sea va a ser none, seguro.
Así que none.
Más cero, más cero, igual, igual, menos cero.
Hostia.
A ver.
Yo creo que no hay diferencia.
O sea, más cero es cero, menos cero es cero.
Yo creo que es true y no tiene mucha historia, ¿eh?
No creo.
En este caso, otra cosa es más infinity, menos infinity.
Que eso sí que sería problemático, ¿eh?
Pero yo creo que en este caso, creo que no debería haber ningún problema.
Esto debería ser false y ahí true y ya está.
Es true, true.
¿Vale?
Pues true.
Esto es true.
Joder.
Este es el tema.
I give up.
Totalmente.
Madre mía.
Madre mía.
Vamos a ver.
Vamos a ver.
Null.
A ver.
Sí.
Vamos a intentarlo poco a poco, ¿vale?
Vamos a intentarlo poco a poco.
No sé por dónde empezar.
Por.
No sé por dónde empezar.
Estoy intentando.
No sé por dónde pillar esto.
Lo peor, ¿sabéis qué es?
Que estoy seguro que funciona.
Porque encima no pone ninguna opción que sea syntax error.
Los cabrones.
A ver.
Más, más, uno.
A ver.
El truco está en el por.
Vamos a...
Porque si nos enfocamos en esto...
Yo creo...
Yo creo que este no es.
Este estoy bastante seguro que no es.
Porque habiendo una multiplicación por aquí en medio...
Muy difícil.
O sea, el string no es.
Ahora está entre el 0 y el none.
Claro.
Uno.
Esto por null.
Es que, claro, no sé qué es lo que va a hacer antes esto.
O sea, no tengo ni puñetera idea.
No tengo...
O sea, no tengo ni puñetera idea.
No lo sé.
No lo sé.
Siento que estoy en la clase de matemáticas.
Ojalá.
Pues esto tendría sentido.
Esto no tengo ni puñetera idea.
No tengo ni puñetera idea.
O sea, no sé por dónde pillarlo.
No sé por dónde pillarlo.
Es que no sé.
Simplemente no tengo ni idea.
A ver.
Es que esto sería 0.
Vale.
Pero es que, claro...
O sea, mi duda está aquí.
Si esto es lo primero que se va a multiplicar.
Si haces un 1 por null...
¿Esto qué es?
¿Esto qué es?
A ver.
Null es 0.
Igual cualquier cosa que multipliques por 0...
Pues 0.
0.
Ya tienes un número aquí.
Menos.
Pero esto es un string.
O sea, no tengo ni idea.
No sé.
No tengo ni idea.
I give up.
No tengo ni idea.
¡No!
¡No me digas eso, hijo de puta!
¡No!
¡No, no!
Las hemos puesto todas bien menos la última.
¡No!
¡No!
¡Qué putada!
¡Qué cabrones!
¡Qué cabrones!
¡Qué puta!
¡Hostia!
¡Nos la tenemos que haber jugado!
¡Nos la tenemos que haber jugado!
¡Cago en la leche!
¡Hostia!
¡Hostia!
¡No!
¡No se estaba ahí!
¡Madre mía!
¡Me siento como Neymar!
¡Me siento como Neymar ahí!
¡Hostia!
¡Ah, mira!
¡Qué bien!
¡Hay que te lo explican todo!
¡True más false!
Mira, en este caso...
Este...
Mira...
¡Ah, mira!
En caso de booleanos te lo convierte siempre a número.
Este es importante.
Este es el que hemos comentado, ¿no?
Que el de la...
Pero bueno...
¡Hostia!
La traigling coma.
¡Ay, qué cabrones!
¡Qué rabia!
¡Qué rabia, Dios!
¡Qué rabia!
¡Se cayó un ídolo!
¡Qué cabrones!
También...
Nunca...
Moraleja, nunca te rindas.
Ya te digo, ¿eh?
Ya te digo, las hemos hecho todas bien.
Mira que pensaba que igual algunas fallábamos.
Porque mira que es largo.
Mira que es largo.
Pero bueno, también me habéis ayudado en alguna.
Vamos a ver esto.
A ver.
A ver.
Number.
Null, cero.
Eso ves.
Lo teníamos bien.
Number.
¡Hostia!
Claro, como el primero convierte a número...
Pues esto ya era número.
Esto era cero.
Este lo he dicho bien.
Más uno.
Esto es transformarlo.
Este es el unary operator.
Cero más uno por cero.
Pues cero.
Pero me rendí.
No me debía haber rendido.
No me debería haber rendido.
Paso a trago amargo con agua.
Necesito alcohol.
Bueno, amigos.
Hemos fallado una.
A ver.
Cualquiera estaría contento, ¿sabes?
Esto es como cuando...
Cuando perdió la Eurocopa Inglaterra.
Y entonces le daban la medalla de su campeón y se la quitaba inmediatamente.
Nosotros igual, ¿eh?
Pero...
Es que me da mucha rabia.
Es que hemos estado muy cerca.
Hemos estado muy cerca, ¿eh?
Os paso, si queréis, os paso en el chat.
Os paso el...
Lo de intentarlo, ¿vale?
Pero hemos estado tan cerca...
¡Qué rabia!
¡Dios mío!
Ahora me gustaría viajar al pasado y volverlo a hacer.
¿Por qué hemos estado tan cerca?
24-25.
¡Hostia!
¡Qué pena!
Bueno, muchas gracias a todos, ¿eh?
Sí, sí, sí.
Dice, tranquilo que Messi perdió 4.
Perdió 4.
Sí, sí.
Copa Américas.
Ya te digo, ya te digo.
Aquí hemos perdido la prórroga, pero...
Bueno, último penalti.
¿Qué hago la leche?
Ah, hemos estado cerca.
Hay otro, que ya lo haremos otro día, que es el WTFJavascript.
Creo...
No.
WTFJavascriptQuiz.
Creo que es este.
Este.
Este lo haremos otro día.
Este sí que lo hice.
O sea, este me puedo acordar más, ¿eh?
De las...
De este sí que me puedo acordar.
De las respuestas y tal, porque este ya lo hice hace tiempo.
Pero...
Pero bueno.
Lo haremos más adelante.
Bueno, lo haremos.
Lo haremos el paper.
Vale.
Lo haremos.