DartLang

Dart’ta Null-aware Operatörleri

Dart dilinde null-aware operatörler, bir değerin null olup olmadığını kontrol etmek ve buna bağlı olarak hesaplamalar yapmak için kullanılır. Bu başlık altında, Dart’taki null-aware operatörlerin temelini öğrenerek, kodunuzu daha güvenli ve etkili hale getirmenin yollarını keşfedin.

İçindekiler

??

Dart’ın null-aware operatörlerinden biri olan ??, bir değerin null olup olmadığını kontrol etmek ve null durumunda alternatif bir değer kullanmak için kullanılır. Bu başlık altında, ?? operatörünü kullanarak kodunuzu daha kısa ve okunabilir hale getirmenin pratik örneklerini inceleyin.

Örnek: Null Kontrolü

Bu örnekte, ?? operatörü kullanılarak adi değişkeni kontrol edilir. Eğer adi null ise, tamAdi değişkenine ‘Bilgi bulunamadı’ değeri atanır.

Örnek: Sayı Toplama

??=

??= (null-aware assignment) operatörü, bir değişkenin değerini sadece eğer değişken null ise sağlanan bir değerle atanmasını sağlar. Eğer değişken null değilse, atama işlemi gerçekleşmez ve mevcut değer korunur.

İşte ??= operatörünü kullanarak yapılmış bir örnek:

Bu örnekte, adi değişkeni ??= operatörü ile kontrol edilir. Eğer adi null ise, yeniAdi değeri atanır. Eğer adi null değilse, atama işlemi yapılmaz ve mevcut değer korunur. Bu sayede adi değişkeni null ise yeniAdi ile, null değilse mevcut değeriyle kullanılır.

?.

?. (null-aware) operatörü, Dart dilinde bir nesnenin null olup olmadığını kontrol ederek, eğer nesne null değilse bir metodunu çağırmak veya bir özelliğine erişmek istediğinizde kullanılır. Nesne null ise, tüm ifade null olarak değerlendirilir.

İşte ?. operatörünün kullanımını açıklamak için bir örnek:

Yukarıdaki örnekte, ?. kullanmak, person nesnesinin introduce metodunu çağırmadan önce açıkça null kontrolü yapma ihtiyacını ortadan kaldırır. Eğer person null ise, person?.introduce() ifadesi zarif bir şekilde null olarak değerlendirilir ve çalışma zamanında bir hataya neden olmaz.

Bu operatör, potansiyel olarak null olabilen nesneler üzerinde birden fazla metod çağrısı veya özellik erişimi zinciri oluşturulurken özellikle kullanışlıdır.

?…

Dart 2.3, bir spread operatörü (…) getirir ve beraberinde yeni bir null aware operatörü olan ?… gelir!

… ifadesini bir koleksiyon literali içinde bir ifadenin önüne yerleştirmek, ifadenin sonucunu açar ve bu ifadenin elemanlarını doğrudan yeni koleksiyonun içine ekler.

Bu nedenle şimdi, aşağıdaki iki örnek eşdeğerdir.

ve

Yeni null aware operatöründen faydalanmak için, onu şu şekilde kullanabilirsiniz:

Bu, aşağıdaki kodun eşdeğidir:

Bu operatörler, özellikle null değer kontrolü yaparken kodunuzu daha etkili hale getirir ve kolay anlaşılabilir koleksiyon işlemleri sağlar. Dart’ın güncel özellikleri, kod yazma sürecinizi daha verimli ve rahat hale getirmeye devam ediyor.

Yorum Yap

Yorum yapmak için tıklayın