JavaScript | Opsiyonel zincirleme

Javascript Opsiyonel Zincirleme



İsteğe bağlı zincirleme, ECMA International tarafından sunulan JavaScript için oldukça yeni bir özelliktir. Var olmayan özellik hakkında endişelenmenize gerek kalmadan derin iç içe nesnelerin özelliklerini kontrol etmek için kullanılır. Hatalarla karşılaşmadan bu değerleri kontrol etmenin güvenli bir yolunu sağlar. İsteğe bağlı zincirleme operatörü, başvuru olmadığında hata yerine tanımsız bir değer döndürür. Bu özellik, kodunuzda kesinlikle ihtiyaç duyacağınız bir özellik değildir, ancak çoğu zaman çok faydalı olduğunu kanıtlayabilir. İsteğe bağlı zincirleme, örneğin API'lerle çalışırken, verilerin gerçekte nasıl görünebileceğinden gerçekten emin olmadığınız durumlarda en iyi sonucu verir.

İsteğe bağlı değiştirme operatörü, bir özellik değerine ulaşana veya bir hatayla karşılaşana kadar yolda devam eder:

çalışana izin ver = {
ilk adı : 'John' ,
Soyadı : 'Doe' ,
Yaş : 3. 4
} ;

konsol. kayıt ( çalışan. adres ? . fermuar ) ;







Aynı özellik değerine isteğe bağlı zincirleme operatörünü kullanmadan erişmeye çalışsaydık, bir hata alırdık:



çalışana izin ver = {
ilk adı : 'John' ,
Soyadı : 'Doe' ,
Yaş : 3. 4
} ;

konsol. kayıt ( çalışan. adres . fermuar ) ;



Yöntem Çağrılarında İsteğe Bağlı Zincirleme

İsteğe bağlı zincirleme, yöntem çağrılarında da çalışır. Bir nesne içinde bir yöntemin var olup olmadığından emin değilseniz, isteğe bağlı zincirlemeyi kullanabilirsiniz. Örnek bir kullanım durumu, kullanıcının cihazına bağlı olarak belirli özellikleri içerebilen veya içermeyebilen bir API'den alınan verilerdir:





çalışana izin ver = {
ilk adı : 'John' ,
Soyadı : 'Doe' ,
Yaş : 3. 4
} ;

konsol. kayıt ( çalışan. yöntem ? . ( ) ) ;

İsteğe bağlı zincirleme olmadan:



çalışana izin ver = {
ilk adı : 'John' ,
Soyadı : 'Doe' ,
Yaş : 3. 4
} ;

konsol. kayıt ( çalışan. yöntem ( ) ) ;

İsteğe bağlı zincirleme operatörü, hataları önlemek için tek bir ifade içinde birden çok kez de kullanılabilir.

Nullish birleştirme operatörü ile isteğe bağlı zincirlemeyi birleştirmek

İsteğe bağlı zincirleme ayrıca ?? özelliğin veya yöntemin mevcut olmaması durumunda varsayılan bir değer sağlamak için operatör:

çalışana izin ver = {
ilk adı : 'John' ,
Soyadı : 'Doe' ,
Yaş : 3. 4
} ;

konsol. kayıt ( çalışan. yöntem ? . ( ) ?? 'İşlev Yok' ) ;

Varsayılan değer, bazı işlev çağrıları da olabilir.

İsteğe bağlı zincirleme aşırı kullanımı

Kodun okunabilirliğini ve şıklığını artırmak için isteğe bağlı zincirleme tanıtıldı. Hataların susturulmasına neden olabileceğinden dikkatli kullanılmalıdır. İsteğe bağlı zincirleme operatörünün aşırı kullanımı kodunuzda sorunlara neden olabilir.

Çözüm

İsteğe bağlı zincirleme, JavaScript'in yakın zamanda eklenen bir özelliğidir ve derin iç içe JavaScript nesnelerindeki özelliklere ve yöntemlere, bu yöntemlerin ve özelliklerin varlığı için manuel kontroller koyma konusunda endişelenmenize gerek kalmadan erişmek için kullanılabilir.