Last active
May 26, 2019 00:19
-
-
Save davidjsalazarmoreno/5bfb485ce2303679d2d2b01535c24db7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const foo = 100 | |
const bar = 20 | |
// La línea es - o ++ (en cuyo caso disminuirá / incrementará el siguiente token). | |
bar | |
++ | |
foo | |
/* | |
La intención es que se interptete así | |
bar++; | |
foo; | |
Pero el ASI detecta el salto de linea luego del bar y el resultado será este: | |
bar; | |
++foo; | |
Ahora, ¿quién en su sano juicio escribiría algo así? 🤬 | |
*/ | |
// La siguiente línea comienza con [, (, +, *, /, -, coma, punto , o algún otro | |
// operador binario que solo se puede encontrar entre dos tokens en una sola expresión. | |
console.log('Este código dispara un error debido al ASI') | |
['🥩', '🌭', '🥧'].map(food => { | |
return '💩' | |
}) | |
/* | |
Lo anterior se interpreta asi: | |
console.log('Este código dispara un error debido al ASI')['🥩', '🌭', '🥧'].map(food => { | |
return '💩' | |
}) | |
*/ | |
// Mejor | |
const foo = 100 | |
const bar = 20 | |
// 4.La siguiente línea comienza con [, (, +, *, /, -, coma, punto , o algún otro | |
// operador binario que solo se puede encontrar entre dos tokens en una sola expresión. | |
console.log(` | |
Punto y coma "defensivo" para indicar | |
que la declaración anterior termina | |
`) | |
;['🥩', '🌭', '🥧'].map((food) => { | |
return '💩' | |
}) | |
// O aún mejor si eres de la escuela "nada de punto y coma" | |
const foo = 100 | |
const bar = 20 | |
const foods = ['🥩', '🌭', '🥧'] | |
// 4.La siguiente línea comienza con [, (, +, *, /, -, coma, punto , o algún otro | |
// operador binario que solo se puede encontrar entre dos tokens en una sola expresión. | |
console.log('¡Mejor que mejor!') | |
foods.map(food) => { | |
return '💩' | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment