رابط تایپاسکریپت برای ویژگی شیء [فقط به یک نوع اشاره دارد اما در اینجا به عنوان یک مقدار استفاده میشود.]


state = {
    x: Array<any>(),
    y: number
}

y به من خطای زیر را میدهد:

فقط به یک نوع اشاره دارد اما در اینجا به عنوان یک مقدار استفاده میشود.

که قابل درک است زیرا این ویژگی شیء است.

چگونه میتوانم نوعی مانند x را برای این مشخص کنم؟

پاسخ شماره ۱

مشکل این است که شما در تلاش هستید به state نوعی با ساختار داده شده اختصاص دهید. اگر میخواهید یک متغیر یا یک فیلد را اعلام کنید، باید از : استفاده کنید.

let state : {
    x: Array<any>,
    y: number
}

//Or for a field:
class Foo {
    state: {
        x: Array<any>,
        y: number
    }
}

اگر میخواهید چنین شیئی ایجاد کنید، باید مقادیر را اختصاص دهید، نه نوعها:

let state = { x: [], y: 0}  // empty array for x