JavaScript de Null, Undefined ya da Boş String ‘in Ternary Operatörü Olmadan Kontrolü
Aşağıdaki kod ile bir değerin nullolması ya da olmaması durumuna göre bir şeyler yaptırmak istediğimiz de ternary operatörü ile bunu yapabiliyoruz.
response.name = response.name == null ? "john doe" : response.name;Bunu yapmanın 2 farklı yönteminden daha bahsetmek istiyorum. Bu yöntemlerle de karşılaşınca ne olduğunu bilmek de fayda var. Bu ifadeyi daha kısa ve okunaklı bir şekilde yazmanın birkaç yolları da diyebiliriz.
1. Logical OR Operatörü Kullanımı (||)
Logical OR operatörü (||), soldaki ifadenin "truthy" olmadığı durumlarda sağdaki ifadeyi döndürür. Bu durumda, response.name değeri null, undefined, ya da boş string ("") gibi "falsy" bir değerse, sağdaki ifadeyi ("john doe") kullanabilirsiniz.
response.name = response.name || "john doe";2. Nullish Coalescing Operatörü Kullanımı (??)
ES2020 ile tanıtılan nullish coalescing operatörü (??), soldaki ifadenin null veya undefined olması durumunda sağdaki ifadeyi döndürür. Bu operatör, || operatöründen daha kesin bir şekilde null ve undefined durumları için kullanılır ve boş string ("") veya 0 gibi diğer "falsy" değerleri etkilemez. (C# dan da bu operatörü bilenleriniz olabilir ;))
response.name = response.name ?? "john doe";Özet
Logical OR (||): Tüm falsy değerler için sağdaki değeri döndürür.
Get Murat Baseren’s stories in your inbox
Join Medium for free to get updates from this writer.
Nullish Coalescing (??): Sadece null veya undefined için sağdaki değeri döndürür.
Bu duruma bağlı olarak, hangi davranışı tercih ettiğinize göre bu operatörlerden birini kullanabilirsiniz.









