Javascript tiene una función llamada Inserción automática de punto y coma donde, básicamente, si el analizador encuentra un token no válido, y el último token anterior fue un salto de línea, el analizador insertará un punto y coma donde se encuentra el salto de línea. Básicamente, esto le permite escribir todo su código javascript sin punto y coma, pero debe conocer algunos casos de borde, principalmente si tiene una palabra clave de retorno y luego el valor que desea devolver en una nueva línea.
function test(){
// This will return 'undefined', because return is a valid statement
// and "john" is a valid statement on its own.
return
"john"
}
Debido a estos errores, hay docenas de artículos con títulos como "La inserción automática de punto y coma es malo", "Usar siempre los puntos y coma en Javascript", etc.
Pero en Python nadie usa punto y coma y tiene exactamente los mismos errores.
def test():
# This will return 'undefined', because return is a valid statement
# and "john" is a valid statement on its own.
return
"john"
Funciona exactamente igual y, sin embargo, nadie tiene un miedo mortal al comportamiento de los Pythons.
Creo que los casos en los que el javascript se comporta mal son tan pocos que deberías poder evitarlos fácilmente. ¿Devolver + valor en una nueva línea? ¿La gente realmente hace eso mucho?
¿Alguna opinión? ¿Utilizas puntos y coma en javascript y por qué?