2013-04-07 38 views
13

TypeScript'te Array ve any[] arasındaki fark nedir? Dizi, dinamik olarak boyutlandırılmış dizilere başvurur (derleme zamanı sırasında) ve any[], argüman olarak iletilen statik olarak boyutlandırılmış dizilere ve derleyici tarafından türden türetilen sayfaya bakın. Şu anda ben gibi işlevlere sahip olduğunda Çünkü: Statik verilerle bu işlevi çağırmakKriterler Dizi ile herhangi bir []

mergeArrays(arr1 : Array, arr2 : Array); 

, typescript Türlenmiş dizi (type[]) kullanır.

mergeArrays([true, false], [1, 2]); 
//   bool[]   number[] 

Yani 2 arasında herhangi bir derleme zamanı farkları var mı? any[]'u ne zaman kullanırım ve Array'u ne zaman kullanırım?

info = [[], []]; 

cevap

8

Spec bölüm 3.5.4 ilişkilerini belirtir: Bazen şu ayarı olarak zaman gibi hataları "Array herhangi [] [] dönüştürülemez" ..show .. Array ile

var info:Array; 

değişkenler tanımlayarak :

şeklinde ElementType[] bir dizi türü indeksi imza [index: number]: ElementType bir nesne türü artı genel arabirim ty eşdeğer elemanlar kümesi eşdeğerdir _element türündeki sihirin tüm oluşumları ile değiştirilir; burada ElementType ile değiştirilir.

Array için [[], []] veya [] atamak edememek bir hatadır.

TypeScript'te "statik boyutlu" bir dizi hakkında bir fikir yok. Hepsi aynı dinamik JavaScript dizisinden (dinamik olarak boyutlandırılmış) bahsediyorlar:

var x = [1, 2]; 
x.push(3); 
x[13] = 5; 
İlgili konular