¿Cuál es la diferencia entre paréntesis, corchetes y asteriscos en Angular2?

He estado leyendo la referencia rápida angular 1 a 2 en elSitio web angular, y una cosa que no entendí completamente fue la diferencia entre estos caracteres especiales. Por ejemplo, uno que usa asteriscos:

<tr *ngFor="#movie of movies">
  <td>{{movie.title}}</td>
</tr>

Entiendo aquí que el símbolo hash (#) definemovie como una variable de plantilla local, pero ¿qué hace el asterisco antes?ngFor ¿media? ¿Y es necesario?

A continuación, están los ejemplos que usan corchetes:

<a [routerLink]="['Movies']">Movies</a>

Entiendo un poco que los corchetesrouterLink vincularlo a ese atributo HTML / directiva angular. ¿Significa esto que son un puntero para que Angular evalúe una expresión? Me gusta[id]="movieId" sería el equivalente deid="movie-{{movieId}}" en angular 1?

Por último, hay paréntesis:

<button (click)="toggleImage($event)">

¿Se usan solo para eventos DOM y podemos usar otros eventos como(load)="someFn()" o(mouseenter)="someFn()"?

Supongo que la verdadera pregunta es si estos símbolos tienen un significado especial en Angular 2, y cuál es la forma más fácil de sabercuando usar cada uno? ¡¡Gracias!!

Respuestas a la pregunta(4)

Su respuesta a la pregunta