Diferencia entre llaves dobles e individuales en JS angular?

Soy nuevo en este mundo angular, estoy un poco confundido con el uso de llaves dobles {{}} y llaves simples {} o alguna vez no se utiliza la llave para incluir la expresión como en las directivas

  1. ng-class={expression}
  2. normal data binding like{{obj.key}}
  3. ng-hide='mydata==="red"'

{{}} – llaves dobles:

{{}} son expresiones angulares y son bastante útiles cuando deseas escribir cosas en HTML:

 
{{planet.name == "Earth" ? "Yeah! We 're home!" : "Eh! Where 're we?"}}
...

¡No los uses en un lugar que ya sea una expresión!

Por ejemplo, la directiva ngClick trata cualquier cosa escrita entre las citas como una expresión:

   

{} – llaves simples:

{} como sabemos representan objetos en JavaScript. Aquí, también, nada diferente:

 

Con algunas directivas como ngClass o ngStyle que aceptan el mapa:

 {{viruses.length}} viruses found! 
..

sin llaves:

Como ya se mencionó, simplemente no interrumpa cuando esté dentro de expresiones. Bastante sencillo:

 
Alarm! All the monkeys have escaped!

una cosa más acerca de {{}} también se usa como Vigilante … por favor, evita tanto como sea posible para un mejor rendimiento