Поскольку код прямо сейчас, вы все равно должны объявлять поля как необязательные, так как им не присваивается значение. И в этом случае вы можете назначить undefined
, чтобы сделать TS счастливым:
export class Signal {
method?: (d: any) => void;
// ^
otherMethod?: (d: any) => void;
// ^
public resetMethods(): void {
this.method = undefined;
this.otherMethod = undefined;
}
}
Если вы действительно хотите / должны назначить null
, тогда вы можете использовать тип объединения:
export class Signal {
method?: ((d: any) => void) | null;
otherMethod?: ((d: any) => void) | null;
public resetMethods(): void {
this.method = null;
this.otherMethod = null;
}
}