Mantık, herhangi bir programın temelidir, bu nedenle kodunuzu verimli bir şekilde yapılandırmak için mantıksal işleçlerde ustalaşmak isteyeceksiniz.

Mantıksal işleçler, boolean değerler üzerinde mantıksal işlemler gerçekleştirmenizi sağlar. Boole değerlerini birleştirmenize, olumsuzlamanıza veya karşılaştırmanıza ve sonuca göre kodunuzda mantıklı kararlar almanıza olanak tanırlar.

ES6 Nullish birleştirme işleci dahil, JavaScript'in desteklediği çeşitli mantıksal işleçleri keşfedin.

Mantıksal AND (&&) Operatörü

AND (&&) operatörü, döndüren mantıksal bir operatördür. doğru her iki işlenen de şu şekilde değerlendirilirse doğru Ve YANLIŞ aksi takdirde.

AND operatörünün sözdizimi şöyledir:

bir && b

İşte kullanılan AND operatörünün bir örneği:

sabit bir = 5;
sabit b = 10;
sabit ç = 15;

sabit sonuç_1 = (a < b) && (b < c);
konsol.log (sonuç_1); // doğru

sabit sonuç_2 = (a > b) && (b < c);
konsol.log (sonuç_2); // YANLIŞ

Bu örnekte, sonuç_1 değerlendirir doğru çünkü ifadedeki iki işlenen şu şekilde değerlendirilir: doğru. Fakat, sonuç_2 değerlendirir YANLIŞ çünkü ilk işlenen (bir > b) İadeler YANLIŞ.

instagram viewer

Her iki işlenen de boolean değilse, JavaScript bunları dönüştürmeye çalışacak ifadeyi değerlendirmeden önce boole değerlerine dönüştürür. Bunları boolean'lara dönüştürmek için, JavaScript önce değerlerin doğru mu yanlış mı olduğunu değerlendirir.

JavaScript, açıkça sahte olmayan herhangi bir değeri gerçek bir değer olarak kabul eder. Dönüştürüldüklerinde, bir boole olarak değerlendirilirler doğru.

Ancak bazı değerler ve JavaScript'te veri türleri sahtedir, bu nedenle JavaScript bunları dönüştürdüğünde bir boole olarak değerlendirir YANLIŞ.

JavaScript'teki sahte değerler şunlardır:

  • YANLIŞ
  • hükümsüz
  • Tanımsız
  • NaN (Sayı değil)
  • 0
  • BigInt (0n)
  • Boş dize ("" veya '' veya ``)
  • Tanımsız

Boole olmayan değerleri değerlendirmek için AND işlecini kullandığınızda, işlenen ikinciyi değerlendirmeden yanlışsa, ifade hemen ilk işlenenin değerini döndürür. Bu davranış kısa devre olarak bilinir ve bunu yazmak için kullanabilirsiniz. JavaScript'te koşullu ifadeler.

Ancak, ilk işlenen doğruysa, ifade ikinci işleneni değerlendirmeye devam eder. İkinci işlenen doğruysa, onu döndürür.

Örneğin:

sabit bir = 5;
sabit b = 'Merhaba';
sabit ç = hükümsüz;

sabit sonuç_1 = a && b;
konsol.log (sonuç_1); // "Merhaba"

sabit sonuç_2 = c && b;
konsol.log (sonuç_2); // hükümsüz

Bu örnekte, sonuç_1 ifadedeki her iki işlenen de doğru olduğundan “Merhaba” olarak değerlendirilir. Fakat, sonuç_2 kısa devreler ve dönüşler hükümsüz ikinci işleneni değerlendirmeden.

Daha fazla işlenen varsa, AND operatörünün sahte bir değerle karşılaşana kadar bunları değerlendirmeye devam edeceğini unutmayın. Falsy bir değerle karşılaşmaz ise karşılaştığı son truey değerini döndürür.

Mantıksal OR (||) Operatörü

OR (||) operatörü, dönen mantıksal bir operatördür. doğru ancak ve ancak işlenenlerinden biri veya daha fazlası doğru. Sadece geri döner YANLIŞ her iki işlenen de olduğunda YANLIŞ.

OR operatörünün sözdizimi şöyledir:

bir || B

İşte kullanımda OR operatörünün bir örneği:

sabit bir = 5;
sabit b = 10;
sabit ç = 15;

sabit sonuç_1 = (a < b) || (b konsol.log (sonuç_1); // doğru

sabit sonuç_2 = (a > b) || (b konsol.log (sonuç_2); // doğru

sabit sonuç_3 = (a > b) || (b > c);
konsol.log (sonuç_3); // YANLIŞ

Yukarıdaki örnekte, sonuç_1 değerlendirir doğru çünkü ifadedeki her iki işlenen de şu şekilde değerlendirilir: doğru. sonuç_2 değerlendirir doğru çünkü ikinci işlenen şu şekilde değerlendirilir: doğru. sonuç_3 değerlendirir YANLIŞ çünkü ifadedeki iki işlenen şu şekilde değerlendirilir: YANLIŞ.

VEYA işlecini boolean olmayan bağlamlarda kullandığınızda, JavaScript ifadeyi değerlendirmeden önce boolean değerlere dönüştürmeye çalışır.

İfade değerlendirildiğinde ilk işlenen doğru ise operatör kısa devre yapar ve onu döndürür. Ancak, yanlışsa, doğru bir işlenenle karşılaşana kadar bir sonraki işleneni değerlendirmeye devam eder. İfadede doğru işlenen yoksa, karşılaştığı son yanlış değeri döndürür.

Örneğin:

sabit bir = 5;
sabit b = 'Merhaba';
sabit ç = hükümsüz;

sabit sonuç_1 = bir || B;
konsol.log (sonuç_1); // 5

sabit sonuç_2 = c || B;
konsol.log (sonuç_2); // "Merhaba"

sabit sonuç_3 = c || " ";
konsol.log (sonuç_3); // " "

Yukarıdaki örnekte, sonuç_1 kısa devreler ve dönüşler 5 çünkü gerçek bir değerdir. sonuç_2 ifadede karşılaştığı ilk doğru değer olduğu için “Merhaba” döndürür. sonuç_3 ifadedeki son sahte değer olduğu için boş bir dize döndürür.

Mantıksal DEĞİL (!) Operatörü

Mantıksal NOT (!) operatörü, işleneninin zıt boolean değerini döndüren tekli bir operatördür.

NOT operatörünün sözdizimi şöyledir:

!X

Nerede X bir boolean veya doğru veya yanlış bir değerdir.

İşte kullanımda olan NOT operatörünün bir örneği:

sabit bir = 5;
sabit b = '';
sabit ç = doğru;

sabit sonuç_1 = !a;
konsol.log (sonuç_1); // YANLIŞ

sabit sonuç_2 = !b;
konsol.log (sonuç_2); // doğru

sabit sonuç_3 = !c;
konsol.log (sonuç_3); // YANLIŞ

Yukarıdaki örnekte NOT operatörü, boole işlenenlerinin ters değerini döndürür. NOT işlecini mantıksal olmayan bağlamlarda kullandığınızda (sonuç_1 & sonuç_2), doğru değerleri ters değere dönüştürür. doğru ve yanlış değerleri ters değerine dönüştürür YANLIŞ.

Nullish Birleştirme (??) Operatörü

Boş birleştirme operatörü, iki işleneni değerlendiren ve ilk işleneni değilse döndüren mantıksal bir işleçtir. hükümsüz veya Tanımsız. Aksi takdirde, ikinci işleneni döndürür.

Bir bakışta, boş birleştirme operatörü, mantıksal OR (||) operatörüyle aynı görünebilir, ancak durum böyle değildir. Temel fark, VEYA işlecinin, sol işlenen yalnızca "herhangi bir" sahte değer ise sağ taraftaki işleneni döndürmesidir. hükümsüz veya Tanımsız.

karşılaştığında varsayılan bir değer seçmenin özlü bir yolunu sağlar. hükümsüz veya Tanımsız değerler.

Boş birleştirme operatörünün sözdizimi şöyledir:

X?? y

İşte kullanımda olan boş birleştirme operatörünün bir örneği:

sabit isim = hükümsüz;
sabit varsayılanAdı = "John Doe";

sabit sonuç_1 = isim? varsayılanAdı;
konsol.log (sonuç_1); // "John Doe"

sabit yaş = 0;
sabit varsayılan Yaş = 25;

sabit sonuç_2 = yaş? varsayılan Yaş;
konsol.log (sonuç_2); // 0

Yukarıdaki örnekte, sonuç_1 ilk işlenenin değeri şu olduğundan "John Doe" değerini döndürür hükümsüz. sonuç_2 İadeler 0 çünkü, sahte bir değer olmasına rağmen, ikisi de değildir. hükümsüz ne de Tanımsız.

Kodunuzda Mantıksal İşleçler Kullanma

Mantıksal işleçler genellikle koşullu ifadeler yazmak, varsayılan değerler atamak veya koşullara göre boolean değerleri arasında geçiş yapmak için kullanılır.

Bu mantıksal işleçleri kullanarak, değerlerin doğruluğuna veya yanlışlığına dayalı olarak farklı senaryoları ele alan daha özlü ve anlamlı kodlar yazabilirsiniz.