Можно ли частично определить тип объекта? - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть что-то с эффектом

function(param1, { knownParam1, ...opts })

Я хотел бы напечатать это, чтобы хотя бы описать param1 и knownParam1.Я думаю что-то вроде:

type Param2 = {
   knownParam1: string,
   ...otherParams: any
}
type Parameters = {
   param1: string
   param2: Param2
}

Поддерживается ли такая концепция в TypeScript?Я чувствую, что это не так, потому что деструктурирование - это немного новая концепция.

1 Ответ

0 голосов
/ 13 сентября 2018

Да, вы можете достичь того, что вы ищете, с чем-то вроде:

type Param2 = { 
    knownParam: string;
    [key: string]: unknown;
}

function myFn(param1: string, param2: Param2) {
    const {
         knownParam,
         ...opts
    } = param2;

    // ...
}

Тип параметра два - это объект, у которого любые известные свойства пересекаются с любыми другими свойствами неизвестного типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...