おはよう。私はVSCodeを使ってType Scriptを初めて使っています。'X'タイプの引数は 'X'タイプのパラメータに割り当てられません
取得次のエラー:
-
エラーTS2322:タイプ '()=>文字列は' 'string' を型に代入できません。
-
エラーTS2322:タイプ '()=>数' '番号' タイプに割り当てません。
コード:私は01をインスタンス化しようとしています
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;
上述インターフェースメソッドの上に使用クラス:
TravelClientFormPopulator.ts
class TravelClientFormPopulator {
public populateComboBoxUsingDTOs(dataObjects: Array<DTO>, comboBoxID: string): void {
// Get the combo box
var selectElement = <HTMLSelectElement> document.getElementById(comboBoxID);
// Reset the options
selectElement.options.length = 0;
var linkedObjectsToAdd: LinkedObject[] = new Array<LinkedObject>();
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);
}
}
}
すべてのヘルプは高く評価されるであろう。
今後、エラーの内容を理解することは役立ちます。 'Type '()=> string'は 'string'型に代入不可能です。このインスタンスでは、基本的に"文字列を返す関数はstring型の変数に代入できません "文字列 '正しくそれは意味をなさないはずです。純粋なJSの場合は、エラーが発生せず、返された値の代わりに変数が関数を指していたため、何が起こっているのかを追跡することがさらに困難になります。 – DeezCashews