Type test operatörleri:
as, is, ve is! operatörleri, çalışma zamanında(runtime) nesnelerin türlerini kontrol etmek için kullanılır.
"is" operatörü, nesne belirtilen türe sahipse geriye 'true' döner.
Nesnenin T türünde olduğundan emin değilseniz, nesneyi kullanmadan önce türü kontrol etmek için is T'yi kullanın.
if (employee is Person) {
// Type check
employee.firstName = 'Bob';
}
"is!" operatörü, nesne belirtilen türde değilse geriye true döner.
"as" operatörü, Dart dilinde bir nesnenin başka bir türde olduğunu belirtmek için kullanılır. Örneğin, bir "Object" tipindeki nesnenin gerçekte bir "String" olduğunu belirtmek için "as" operatörünü kullanabilirsiniz.
Not: Bir nesneyi belirli bir türe çevirmek için as işlecini ancak ve ancak nesnenin o türde olduğundan eminseniz kullanın. Örneğin:
Kullanımı şöyledir:
object as String
Bu, "object" değişkeninin gerçekte bir "String" olduğunu belirtir ve bu değişkeni bir "String" türünde kullanmanıza izin verir. Eğer "object" değişkeni gerçekte bir "String" türü değilse, bu işlemin sonucu "null" olacaktır.
"as" operatörünün bir diğer önemli kullanımı, bir sınıfın alt sınıfı veya eşdeğeri olduğunu belirtmek için "is" operatörüyle birlikte kullanılır. Örneğin:
if (object is String) {
object as String;
}
Bu kod, "object" değişkeninin bir "String" türü olduğunu test eder ve eğer öyleyse, "object" değişkenini bir "String" türünde kullanmanıza izin verir.
Kaynaklar:
https://dart.dev/guides/language/language-tour#type-test-operators
https://chat.openai.com/chat
Top comments (1)
Aldığım kursta as in nesne tipine parse yaptığı şeklinde anlatılmıştı ve uygulama yaparken hata almıştım. Sizin anlatımınız sonucu as in aslında kesin olarak türü bilinen tipi ideye belirtmek için kullanıldığını öğrenince taşlar yerine oturdu. Teşekkür ederim.