javascript - "Svojstvo ** se koristi prije njegove inicijalizacije u typescriptu"


Razvio sam primjer klase na sljedeći način. Postavio sam privatne varijable na sljedeći način, ali je to vratilo sljedeće pogreške.

"Property 'shopCode' is used before its initialization."

Nisam mogao pronaći gdje se shopCode koristi prije inicijalizacije.

export class getIrohaTransaction {

private shopCode:string;
private TransactionId:string;

constructor(shopCode:string,TransactionId:string) {
    this.shopCode = shopCode;
    this.TransactionId = TransactionId;
}

private requestParam = {
    request: {
        apiCommonRequestHeader: {
            requestId:12345,
            serviceType: '01',
            useInterface: '3',
            shopCode: this.shopCode,
            accessInfo: {
                accessInfo1: 'PRICING',
                accessInfo2: this.shopCode,
                accessInfo3: this.shopCode,
                accessIpAddress: "127.0.0.1",
            },
        },
        transactionSearchCondition: {
            transactionid: this.TransactionId,
        },
        },
}

const result = await client.searchTransactionAsync(requestParam)
}

Pitam se što je korijenski uzrok ovog. Ako netko ima mišljenje, molim vas da mi javite. Hvala

Odgovor #1

Pokušajte ovo private shopCode:string="";

jer u objektu reuqestParam koristite ga prije inicijalizacije.

Dakle, ili ga inicijalizirajte prilikom deklaracije ili postavite strictPropertyInitialization:false (pazite na pravopis) u tsconfig.json