Gerçekten istediğiniz şey bir numaralandırma olabilir
Bir numaralandırma gibi davranan bir şey arıyorsanız (bir nesne tanımladığınızı ve sıralı bir kimlik 0, 1, 2 eklediğinizi ve yanlış yazmak istemediğiniz bir ad alanı içerdiğini görüyorum (örneğin, ad vs naaame) , sıralı kimlik otomatik olarak halledildiğinden ve sizin için kutunun dışında bir tür doğrulama sağladığından bir numaralandırma tanımlamaktan daha iyidir.
enum TestStatus {
Available, // 0
Ready, // 1
Started, // 2
}
class Test {
status: TestStatus
}
var test = new Test();
test.status = TestStatus.Available; // type and spelling is checked for you,
// and the sequence ID is automatic
Yukarıdaki değerler otomatik olarak eşlenecektir, örneğin "Kullanılabilir" için "0" ve bunları kullanarak erişebilirsiniz TestStatus.Available. Ve Typcript, bunları ilettiğinizde türü zorlar.
Yeni bir türü özel türünüzün dizisi olarak tanımlamakta ısrar ediyorsanız
Bir nesne dizisi istediniz (tam olarak "0", "1" ve "2" tuşlarına sahip bir nesne değil), bu yüzden önce nesnenin türünü, sonra içeren bir dizinin türünü tanımlayalım.
class TestStatus {
id: number
name: string
constructor(id, name){
this.id = id;
this.name = name;
}
}
type Statuses = Array<TestStatus>;
var statuses: Statuses = [
new TestStatus(0, "Available"),
new TestStatus(1, "Ready"),
new TestStatus(2, "Started")
]
let someArray: Array<{ id: number, name: string }> = []