Хочу сказать, что я нахожусь на уровне новичка как в Typescript, так и в Angular (включая ngrx).
Я пытаюсь понять, как метод select класса Store может принимать строковый литерал в качестве параметра. Вот код:
export interface AppState {
readonly tutorial: Tutorial[];
}
export class ReadComponent {
constructor(private store: Store<AppState>) {
this.tutorials = store.select('tutorial');
}
}
Теперь я вижу, что у класса AppState есть свойство tutorial, и, похоже, именно для этого и предназначен вызов store.select ('tutorial'), но как? Как так получилось, что если я изменю переданный литерал на select ex. store.select ('yadayada'), компилятор выдает ошибку Аргумент типа '"yadayada"' не может быть назначен параметру типа '"tutorial"'. Как бывают типы "учебник" и "ядяда"? Почему компилятор принимает строковый литерал как тип?