В сигнатуре типа метода тип keyof this
может использоваться для ограничения аргумента в качестве строкового имени действительного ключа класса. Однако он не работает, если метод принимает стиль параметров, а не позиционные аргументы. то есть:
class Foo {
// Allowed
m1(a: string, b: keyof this) {
...
}
// Error: A 'this' type is available only in a non-static member of a class or interface
m2(options: {a: string, b: keyof this}) {
...
}
}
Есть ли способ обойти это? Спасибо.