Я пытаюсь сделать очень простой метод локального хранилища.Я хочу получить запись по ключу (конечно) и указанному типу.
Вот код:
get<T>(key: string): T {
const data = localStorage.getItem(key);
const object = JSON.parse(data) as T;
if (!object) {
throw new Error(`Casting ${JSON.stringify(data)} is impossible`);
}
return object;
}
Как вы знаете, приведение as T
недостаточно эффективный.Например, если моя запись в Локальном хранилище , тогда: get<NoMatterTheClass>('key')
вернет 10 в виде числа и не выдаст ошибку.
Поэтому мой вопрос: как можноЯ уверен, что актерский состав возможен?Общее ограничение?Я пытался с <T extends (new() => T)>
, но он не работает
Спасибо за вашу помощь!