Ввод свойств анонимного объекта в TypeScript

#typescript #object #types #anonymous-objects

#typescript #объект #типы #анонимные объекты

Вопрос:

У меня есть функция:

 function someFunction({ propertyA, propertyB })
{
  return 1;
}
  

Я хочу присвоить свойствам анонимного объекта в аргументе функции явный тип, но использование типичного синтаксиса TypeScript для this ( propertyA: boolean ) приведет к тому, что тип будет помещен туда, где обычно находится значение, поскольку : в литерале объекта означает, что «свойство слева имеет значение справа’.

Мне интересно, как я могу это сделать? Компилятор выдает мне предупреждения о свойствах, неявно имеющих any тип. Прошу прощения, это, вероятно, довольно просто, но я поискал в Google и посмотрел на этом сайте и не могу найти ничего, что касалось бы этой конкретной проблемы.

Ответ №1:

 function someFunction({ propertyA, propertyB }: {propertyA: boolean; propertyB: number }){
    //...
  

или, еще лучше: создайте явный тип:

 interface SomeFunctionOpts{
    propertyA: boolean; 
    propertyB: number;
}

function someFunction({ propertyA, propertyB }: SomeFunctionOpts) {
    //...