Что значит @ перед Component в Typescript файле Angular?
Это декоратор, который выступает в качестве аннотации, которая рассказывает некую информацию о нижеописанном классе. Ссылаясь на ответ выше, здесь декоратор говорит, что класс ниже это компонент, у которого есть селектор greet, который потом будет искаться в html шаблоне и подставлять туда результаты работы данного компонента, его шаблон и стили. template  содержит в себе html шаблон. Если заменить его на templateURL, то в него можно указать ссылку на шаблон, который будет подставлен в то место, где будет вызван селектор greet - <greet></greet>
https://www.typescriptlang.org/docs/handbook/decor...
Декоратор с параметрами привязан к декорируемому классу@Component({selector: 'greet', template: 'Hello {{name}}!'})
class Greet {
  name: string = 'World';
}