WebStorm 无法识别有效的 TypeScript 解构

WebStorm failing to recognise valid TypeScript destructuring

我将 WebStorm 与 TypeScript 结合使用,但在尝试使用参数解构定义方法类型时遇到了障碍。

这里(https://github.com/Microsoft/TypeScript/issues/5034)提到,为了使用带有解构模式的类型注释,我们必须使用以下模式:

function someFunc(data: any) {
    const { x, y } : { x: number, y: number } = data;
}

这适用于我的 TS 文件,如下所示:

export default class foo {
    private bar: any;
    private myMethod: ({paramToUse}: {paramToUse: string}) => void;

    constructor() {
        console.log('hi');
        this.bar = "bar";
    };
}

在 WebStorm 中,我在 ({paramToUse}): 声明“) expected”后看到语法错误,它导致文件其余部分出现语法问题,以至于无法使用。这不会在 VS Code 或 Sublime 中作为语法错误突出显示。任何建议将不胜感激。

({paramToUse}: {paramToUse: string}) => void 函数类型包含冗余信息,没有多大意义,这可能是这种语法不受所有支持的原因。

在这里函数参数是否被解构并不重要。解构特定于函数实现而非类型:

private myMethod: (param: {paramToUse: string}) => void = ({paramToUse}) => {};