当前位置:  开发笔记 > 编程语言 > 正文

"X"类型的参数不能分配给"X"类型的参数

如何解决《"X"类型的参数不能分配给"X"类型的参数》经验,为你挑选了2个好方法。

美好的一天.我是使用VSCode的Type Script的新手.

获得以下错误:

    错误TS2322:类型'()=>字符串'不能分配给'string'类型.

    错误TS2322:类型'()=>数字'不能分配给'number'类型.

代码:

DTO.ts

interface DTO {

    getId(): number;
    getValue(): string;
}
export = DTO;

LinkedObject.ts

class LinkedObject {

    public value: string = "Not Set";
    public id: number = 0;

    constructor(value?: string, id?: number) {
        this.value = value;
        this.id = id;
    }
}
export = LinkedObject;

我试图LinkedObject使用上面提到的接口方法实例化类:

TravelClientFormPopulator.ts

class TravelClientFormPopulator {

    public populateComboBoxUsingDTOs(dataObjects: Array, comboBoxID: string): void {

        // Get the combo box
        var selectElement =  document.getElementById(comboBoxID);
        // Reset the options 
        selectElement.options.length = 0;

        var linkedObjectsToAdd: LinkedObject[] = new Array();

        var defaultLinkedObject: LinkedObject = new LinkedObject("Not Selected", 0);

        linkedObjectsToAdd.push(defaultLinkedObject);

        for (var i = 0; i < dataObjects.length; i++) {
            var value: string = dataObjects[i].getValue; // Error here
            var id: number = dataObjects[i].getId; // And here
            var linkedObject: LinkedObject = new LinkedObject(value, id);
        }
    }
}

任何帮助将受到高度赞赏.



1> Martin Vseti..:

你错过了括号:

var value: string = dataObjects[i].getValue(); 
var id: number = dataObjects[i].getId();


了解错误的说法对于将来帮助您是有用的.`Type'()=> string'不能分配给'string'类型.在这个实例中基本上是说"返回字符串的函数不能赋值给string类型的变量"一旦你读了`()=>字符串`正确它应该都有意义.如果它是纯粹的JS你就不会有错误,你的变量会指向一个函数而不是返回的值,这将更难以追踪正在发生的事情.

2> MaximeBernar..:

For what it worth, if anyone has this problem only in VSCode, just restart VSCode and it should fix it. Sometimes, Intellisense seems to mess up with imports or types.

与打字稿有关:'RegExpMatchArray'类型的参数不能分配给'string'类型的参数

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有