DEV Community

Cover image for Dart as, is, is! operatörleri
Gülsen Keskin
Gülsen Keskin

Posted on

Dart as, is, is! operatörleri

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';
}
Enter fullscreen mode Exit fullscreen mode

"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
Enter fullscreen mode Exit fullscreen mode

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;
}

Enter fullscreen mode Exit fullscreen mode

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)

Collapse
 
beratkutluca profile image
Berat Kutluca

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.