Selamün Aleyküm;
Dart gibi bazı diller hem statik hem de dinamik türlü veri türlerini destekliyorlar.
Statik Tür (Strongly Type):
int n = 7;
String s = 'Merhaba';
double d = 1.5;
Dinamik Tür:
var a = 7;
a = 'Artık String Oldu!';
a = 7.2;
const b = 'SABİT';
Peki hem statik hem de dinamik türleri destekliyorlarsa - bazı durumlar müstesna - niçin sadece dinamik türlü değişkenler vs. oluşturmayalım? Bizim yazılımımıza ne gibi yararları / zararları olabilir?
Mesela Map türünde veri döndüren bir metot var: json.decode(), bunu şu şekilde tanımlayabiliriz:
Map<String, Object> user = json.decode(json);
Lakin böyle uzatmak yerine direk olarak şöyle tanımlasak nasıl olur? :
var user = json.decode(json);
Bu soruyu sormamın asıl sebebi bazen kodlarımızda tanımladığımız değişkenler vs. verilerin türlerini bilmek için uğraşıyoruz: "Acaba bu String miydi yoksa Json sınıfı türünde mi değer döndürüyordu?" gibi. Ayrıca A türünden B türüne dönüşümler yapmak zorunda kalabiliyoruz. Bu gibi dillerde çok çok gerekli olmadığı durumlarda direk olarak dinamik tür tanımlayıp geçsek nasıl olur? :)
Teşekkürler.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]