JavaScript de Null, Undefined ya da Boş String ‘in Ternary Operatörü Olmadan Kontrolü

K. Murat Baseren
1 min readApr 19, 2024

--

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.

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.

--

--

K. Murat Baseren

Software Architect | .NET Developer | Project Manager | Instructor | Lifetime Learner