Descubrí hoy que esto parece ser javascript legal:
class foo { a() { console.log( 'a' ); } b() { console.log( 'b' ); } a() { console.log( 'a2' ); } } ( new foo() ).a(); // shows a2 La función a() aparece dos veces, pero javascript simplemente ignora la primera. ¿Por qué es esto legal? ¿Cuál es un caso de uso significativo para esta "característica"?