Почему незя присвоить значения через for in в typescript?

Как правильно делать такие штуки?
constructor(recipeDetails: { title?: string, description?: string } = { title: "", description: "" }) {
    for (let key in recipeDetails) {
      this[key.toString()] = recipeDetails[key];
    }
  }
  • Вопрос задан
  • 248 просмотров
Решения вопроса 1
dmc1989
@dmc1989 Автор вопроса
constructor(recipeDetails: Details = { title: "", description: "", ingredients: [] }) {
    for (let key in recipeDetails) {
      (this[key as keyof Details] as Details[keyof Details]) = recipeDetails[key as keyof Details];
    }
  }

 interface Details { title?: string, description?: string, ingredients?: RecipeIngredient[]}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
А зачем такие сложности? Достаточно Object.assign(this, recipeDetails).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы