Почему я получаю здесь ошибку «Свойство не существует для типа»?

#typescript #typescript-typings

#typescript #typescript-typings

Вопрос:

введите описание изображения здесь

Название действительно говорит само за себя. Я не знаю, почему я получаю эту ошибку, когда я не индексирую в тип переменных {id: string}

Полный код:

 type Root = {
  query: {
    launch: (variables: { id: string }) => { id: number }
  }
};

let root: Root = { 
  query: {
    launch({ id: "123" }) {
      return {  id: 1 }
    }
  }
 }
  

Комментарии:

1.Что вы намерены root.query.launch сделать здесь? Функция, которая принимает что и возвращает что? Прямо сейчас похоже, что вы пытаетесь деструктурировать аргумент в переменную с именем "123" , которая недействительна, во многом таким же образом, который let "123"; является недействительным. Вы вообще пытаетесь разрушить аргумент? Какой цели "123" предполагается служить?

2. Вы совершенно правы! Это определение функции, а не вызов функции, следовательно, это деструктура, а не аргумент объекта. Если вы хотите перенести свой комментарий в ответ, я помечу его как правильный.