Я обновил вопрос, чтобы включить пример. Похоже, мое предыдущее решение не является решением, поскольку я не смог заставить его работать на простом примере.

ли способ динамического извлечения членов из объекта, принадлежащего интерфейсу (то есть, не указывая их снова явно), как это:

let subset = { ...someObject as ISpecific }; 

В настоящее время я получаю всех членов, которые есть у someObject. Так что оператор спреда здесь не работает. Есть ли еще способы сделать это?

Пример:

interface ISpecific { A: string; B: string; }
class Extended implements ISpecific { public A: string = '1'; public B: string = '2'; public C: string = '3'; }

let someObject = new Extended(); 
let subset = { ...someObject as ISpecific }; 
console.log(subset);  // -> { A, B, C } but want { A, B }

Приведения TypeScript - это просто подсказки для компилятора, а не реальные преобразования во время выполнения.

Ответы на вопрос(4)

Ваш ответ на вопрос