Karşılaştırma operatörleri, iki işlenenin değerlerini karşılaştırır ve
true
veya false
ifadelerini kullanabilirsiniz. Aşağıdaki örnekte
İki işleneni karşılaştırmak için strict equality operatörü (===
):
2 + 2
ve 4
değeri. Çünkü ifadenin ve sayı
4
değeri aynıysa bu ifade true
olarak değerlendirilir:
2 + 2 === 4
> true
Baskı ve eşitlik yazın
En sık kullanılan iki karşılaştırma operatörü, tam eşitlik için ==
şeklindedir
katı bir eşitlik için ===
. ==
, ikisi arasında genel bir karşılaştırma yapıyor
değerleri, mümkünse işlem görenleri veri türleriyle eşleşecek şekilde zorlayarak değerleri. Örneğin,
örnek, karşılaştırma yapılsa bile 2 == "2"
, true
değerini döndürür
bir sayı değeri ile dize değeri arasına girin.
2 == 2
> true
2 == "2"
> true
Aynı durum !=
için de geçerlidir. Bu değer, true
değerini yalnızca işlenenler
ile kıyaslandığında genel olarak eşit değildir.
2 != 3
> true
2 != "2"
> false
===
veya !==
kullanılan katı karşılaştırmalar, tür zorlaması yapmaz. Örneğin,
true
ile değerlendirmek için katı bir karşılaştırma kullanıyorsanız karşılaştırılan değerler
aynı veri türünde olmalıdır. Bu nedenle 2 == "2"
, true
değerini döndürür ancak 2 === "2"
değerini döndürür.
false
değerini döndürür:
2 === 3
> false
2 === "2"
> false
Otomatik baskıdan kaynaklanabilecek belirsizliği kaldırmak için her zaman ===
kullanın
yapmasını sağlar.
Operatör | Açıklama | Kullanım | Sonuç |
---|---|---|---|
=== | Tamamen eşit | 2 === 2 | true |
!== | Tam olarak eşit değil | 2 !== "2" | true |
== | Eşit (veya "genelde eşit") | 2 == "2" | true |
!= | Eşit değil | 2 != "3" | true |
> | Şundan büyük: | 3 > 2. | true |
>= | Büyüktür veya eşittir | 2>= 2 | true |
< | Küçüktür | 2 < 3 | true |
<= | Küçüktür veya eşittir | 2 <= 3 | true |
Doğru ve yanlış
JavaScript'teki tüm değerler örtülü true
veya false
değerleridir ve
karşılık gelen boole değerini kullanabilirsiniz. Örneğin,
karşılaştırıcıdır. Sınırlı bir değer grubu false
değerine zorlanır:
0
null
undefined
NaN
- Boş dize (
""
)
Bir veya daha fazla değer içeren dizeler dahil olmak üzere diğer tüm değerler, true
değerini zorlar.
karakterler ve sıfır olmayan tüm sayılar. Bunlar genellikle "truthy" (doğruluk) olarak adlandırılır. ve
"sahte" değerler.
"My string" == true
> true
100 == true
> true
0 == true
> false
Mantıksal operatörler
Bir komut dosyasının akışını, iki veya daha fazla koşullu ifadenin değerlendirmesine dayanarak kontrol etmek için mantıksal AND (&&
), OR (||
) ve NOT (!
) operatörlerini kullanın:
2 === 3 || 5 === 5;
> true
2 === 2 && 2 === "2"
> false
2 === 2 && !"My string."
> false
Mantıksal DEĞİL (!
) ifadesi, işlenenin doğru veya yanlış değerini yok eder. İşlenenin false
olarak değerlendirilmesi halinde true
, işlenenin true
olarak değerlendirilmesi durumunda false
olarak değerlendirilir:
true
> true
!true
> false
!false
> true
Mantıksal NOT operatörünü (!
) başka bir veri türünün önüne ekleyin:
bir dizeyi ifade ederse bu değeri bir boole'ye zorlar ve doğruyu veya dizeyi
Hatalı değer.
"string"
> "string"
!"string"
> false
0
> 0
!0
> true
Verileri belirli bir değişkene hızlı bir şekilde zorlamak için iki NOT operatörü kullanmak, eşleşen Boole değeri:
!!"string"
> true
!!0
> false
Mantıksal AND ve OR operatörleri tek başlarına baskı yapmaz. Onlar değerlendirilen iki işlemden birinin değerini döndürür, seçilen değer, belirli bir işlem gücüne sahiptir.
Mantıksal VE (&&
), iki işlem görenin ilkini yalnızca söz konusu işlem görense döndürür
false
olarak değerlendirilir, aksi halde ikinci işlenen. Karşılaştırmalara göre
boole değerlerine göre değerlendirildiğinde, yalnızca her iki taraftaki işlem görenlerse true
değerini döndürür.
mantıksal VE mantığını kullanarak true
olarak değerlendirin. İki tarafın da sonucu false
ise
false
değerini döndürür.
true && false
> false
false && true
> false
false && false
> false
true && true
> true
&&
, boole olmayan iki işlenenle kullanıldığında, ilk işlenen döndürülür
false
değerine zorlanabilirse değişmez. İlk işlenen zorlanabilirse
true
değerine ayarlanırsa ikinci işlenen değiştirilmeden döndürülür:
false && "My string"
> false
null && "My string"
> null
"My string" && false
> false
"My string" && "My second string"
> "My second string"
2 === 2 && "My string"
> "My string"
Mantıksal VEYA (||
), iki işlenenden ilkini yalnızca söz konusu işlem görense döndürür
true
olarak değerlendirilir, aksi halde ikinci işlenen. Karşılaştırmalara göre
boole değerlerine göre değerlendirildiğinde, işlenen ifadelerden biri varsa true
değerini döndürür
true
olarak değerlendirilir ve iki taraf da true
sonucunu vermezse şunu döndürür:
false
:
true || false
> true
false || true
> true
true || true
> true
false || false
> false
||
, boole olmayan iki işlenenle kullanıldığında ilk işleneni döndürür
true
değerine zorlanabilecek olsa bile değişmeyecektir. İlk işlenen zorlanabilirse
false
değerine ayarlanırsa ikinci işlenen değiştirilmeden döndürülür:
false || "My string"
> "My string"
null || "My string"
> "My string"
"My string" || false
> "My string"
"My string" || "My second string"
> "My string"
2 === 2 || "My string"
> true
Boş birleştirme operatörü
ES2020'de kullanıma sunuldu,
"boş birleştirme operatörü" (??
), yalnızca ilk işleneni döndürür
işlenenin, null
veya undefined
dışında bir değeri var. Aksi takdirde
işlenene göre.
null ?? "My string"
> "My string"
undefined ?? "My string"
> "My string"
true ?? "My string";
> true
??
, mantıksal bir VEYA operatörüne benzer ancak ilk işlenenin
yardımcı olur. ||
, şunlar için ikinci işleneni döndürür:
undefined
ve null
dahil olmak üzere false
değerine zorlandı. ??
, ikinci sonucu döndürür
ilk işlenen, null
veya undefined
dışında bir şey olduğunda işlenen
false
olmaya zorlanabilir:
0 ?? "My string";
> 0
false ?? "My string";
> false
undefined ?? "My string";
> "My string"
Mantıksal atama operatörleri
İlk kullanıcıya ikinci bir operatörün değerini atamak için atama operatörlerini kullanın
operatörümüzü kullanabilirsiniz. Bunun en yaygın örneği, tek bir eşittir işaretidir (=
).
bildirilen bir değişkene değer atayın.
Bir değişkene koşullu olarak değer atamak için mantıksal atama operatörlerini kullanma doğru veya yanlış değerine göre belirleyebilirsiniz.
Mantıksal VE ataması (&&=
) operatörü, ikinci işleneni değerlendirir ve
ilk işlenene, yalnızca ilk işlenen
true
- etkili bir şekilde, "ilk işlenen doğruysa
bunun yerine ikinci işleneni belirtin:"
let myVariable = false;
myVariable &&= 2 + 2;
> false
myVariable = true;
myVariable &&= 2 + 2;
> 4
İlk işlenenin doğruluk veya yanlış değeri, atamanın
emin olun. Ancak, bir karşılaştırma kullanarak ilk işleneni değerlendirmeye çalışılıyor.
operatörün atanamayan true
veya false
boole değeri
değer:
let myVariable = 5;
myVariable > 2 &&= "My string"
> SyntaxError: Invalid left-hand side in assignment
Mantıksal VEYA ataması (||=
) operatörü, ikinci işleneni değerlendirir ve
ilk işlenen, false
olarak değerlendirilirse ilk işlenene atar -
"ilk işlenen yanlışsa, ikinci işlenenin değerini atayın.
işlem görenin bunun yerine:"
let myVariable = false;
myVariable ||= 2 + 2;
> 4
myVariable = true;
myVariable ||= 2 + 2;
> true
Öğrendiklerinizi sınayın
Hangi operatör "kesinlikle eşit" ifadesini gösterir?
!=
=
===
==