¿Cuándo debo usar las funciones de flecha en ECMAScript 6?

La pregunta está dirigida a personas que han pensado en el estilo de código en el contexto del próximo ECMAScript 6 (Harmony) y que ya han trabajado con el lenguaje.

Con() => {} yfunction () {} Estamos obteniendo dos formas muy similares de escribir funciones en ES6. En otros idiomas, las funciones lambda a menudo se distinguen por ser anónimas, pero en ECMAScript cualquier función puede ser anónima. Cada uno de los dos tipos tiene dominios de uso únicos (es decir, cuandothis necesita estar vinculado explícitamente o explícitamente no estar vinculado). Entre esos dominios hay una gran cantidad de casos en los que cualquier notación servirá.

Las funciones de flecha en ES6 tienen al menos dos limitaciones:

No trabajes connewFijothis obligado al alcance en la inicialización

Dejando a un lado estas dos limitaciones, las funciones de flecha teóricamente podrían reemplazar las funciones regulares en casi cualquier lugar. ¿Cuál es el enfoque correcto usándolos en la práctica? ¿Deben usarse las funciones de flecha, por ejemplo:

"en todas partes donde trabajan", es decir, en todas partes una función no tiene que ser agnóstica sobre elthis variable y no estamos creando un objeto.solo "en todas partes donde se necesitan", es decir, oyentes de eventos, tiempos de espera, que deben estar sujetos a un determinado alcancecon funciones 'cortas' pero no con funciones 'largas'solo con funciones que no contienen otra función de flecha

Lo que estoy buscando es una guía para seleccionar la notación de función apropiada en la versión futura de ECMAScript. La directriz deberá ser clara, de modo que pueda enseñarse a los desarrolladores en un equipo, y ser coherente para que no requiera una refactorización constante de una notación de función a otra.

Respuestas a la pregunta(7)

Su respuesta a la pregunta