Saya membuat game logika sederhana yang disebut "Three of a Crime" di TypeScript.
Ketika mencoba untuk mengalokasikan array yang diketik dalam TypeScript, saya mencoba melakukan sesuatu seperti ini:
var arr = Criminal[];
yang memberi kesalahan "Periksa format istilah ekspresi".
juga mencoba melakukan ini
var arr : Criminal = [];
dan ini menghasilkan "tidak dapat mengubah [] menjadi 'Kriminal'
apa cara 'TypeScript' untuk melakukan ini?
sumber
Masalah pra-pengalokasian array yang diketik dengan benar dalam TypeScript agak dikaburkan karena sintaks literal array, jadi itu tidak intuitif seperti yang saya pikir pertama kali.
Cara yang benar adalah
Ini akan memberi Anda array yang diketik dengan benar, disimpan di variabel 'arr'
Semoga ini bisa membantu orang lain!
sumber
Saya tahu ini adalah pertanyaan lama tetapi saya baru-baru ini menghadapi masalah serupa yang tidak dapat diselesaikan dengan cara ini, karena saya harus mengembalikan array kosong dari tipe tertentu.
Saya punya
di mana
[]
adalahCriminal[]
jenis.Baik
return: Criminal[] [];
tidakreturn []: Criminal[];
bekerja untuk saya.Pada pandangan pertama saya memecahkannya dengan membuat variabel yang diketik (seperti yang Anda laporkan dengan benar) tepat sebelum mengembalikannya, tetapi (saya tidak tahu bagaimana mesin JavaScript bekerja) itu dapat membuat overhead dan itu kurang dapat dibaca.
Untuk ketelitian saya akan melaporkan solusi ini dalam jawaban saya juga:
Akhirnya saya menemukan casting typeScript, yang memungkinkan saya untuk menyelesaikan masalah dengan cara yang lebih ringkas dan mudah dibaca (dan mungkin efisien):
Semoga ini bisa membantu pembaca di masa depan!
sumber
Untuk penggunaan akses publik seperti di bawah ini:
sumber