Menü
Bedava
kayıt
ev  /  Eğitim/ jquery dize karşılaştırması. Karşılaştırma Operatörleri

jquery dize karşılaştırması. Karşılaştırma Operatörleri

Javascript'te yazarken, dizelerle çalışan yöntemlerin (ve sıra, argümanların tanımlarının) sözdizimini netleştirmek için genellikle arama motorlarına başvurmam gerekir.

Bu yazımda stringlerle ilgili en yaygın javascript metotlarından örnekler ve açıklamalar vermeye çalışacağım. En popüler yöntemler kolaylık sağlamak için makalenin en üstünde yer almaktadır.

dizeye dönüştür

Bir sayıyı, boole değerini veya nesneyi bir dizgeye dönüştürebilirsiniz.

var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

Bunu string() işleviyle de yapabilirsiniz.

var myNumber = 24; // 24 var myString = String(myNumber); // "24"

Nicholas Zakas şöyle diyor: "Değerden (boş veya tanımsız) emin değilseniz, değişkenin türünden bağımsız olarak bir dize döndürdüğü için String() işlevini kullanın."

Tanımsız değişkene hiçbir değer atanmadığı anlamına gelir, bir boş, - boş değerin atandığını (null öğesinin boş bir nesne olarak tanımlandığı söylenebilir).

Bir dizgiyi alt dizgilere bölme

Bir dizeyi bir dizi alt dizeye bölmek için split() yöntemini kullanabilirsiniz:

Var myString = "coming,apart,at,the,virgül"; var substringArray = myString.split(","); // ["geliyor", "ayrı", "at", "the", "virgül"] var arrayLimited = myString.split(",", 3); // ["geliyor", "ayrı", "at"]

Son satırın gösterdiği gibi, ikinci isteğe bağlı bağımsız değişkenin değeri, döndürülen dizideki öğelerin sayısını belirler.

dize uzunluğunu al

uzunluk özelliği ile, bir dizgedeki unicode karakterlerinin sayısını bulabilirsiniz:

Var myString = "Tam bir karaktersin."; var stringLength = myString.length; // 25

Bir dizede bir alt dize tanımlayın

Bunu başarmanın iki yolu vardır:

indexOf() kullanın:

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

indexOf() yöntemi, bir dizgede (dizenin başlangıcından itibaren) bir alt dizgiyi (ilk geçirilen argüman) arar ve dizgede alt dizginin oluşmaya başladığı ilk karakterin konumunu döndürür.

lastIndexOf() öğesini kullanın:

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

lastIndexOf() yöntemi, dize içindeki son alt dizeyi araması dışında tamamen aynı şeyi yapar.

Alt dize bulunamazsa, her iki yöntem de -1 döndürür. İkinci isteğe bağlı bağımsız değişken, dizede aramaya başlamak istediğiniz konumu belirtir. Dolayısıyla, indexOf() yönteminin ikinci argümanı 5 ise, arama 5. karakterden başlayacak ve 0-4 karakter yok sayılacaktır. lastIndexOf() için ayrıca ikinci argüman 5 ise, arama geriye doğru başlar ve 6 ve üzeri karakterler yok sayılır.

Bir dizenin parçası nasıl değiştirilir

Bir dizenin bir kısmını (hatta tamamını) değiştirmek için replace() yöntemini kullanın.

Var slugger = "Josh Hamilton"; var BetterSlugger = slugger.replace("h Hamilton", "e Bautista"); konsol.log(betterSlugger); // "Jose Bautista"

İlk bağımsız değişken, alt dizenin değiştirilecek kısmını içerir; ikinci argüman, değiştirilecek alt dizenin yerini alacak dizedir. Alt dizenin yalnızca ilk örneği değiştirilecektir.

Bir alt dizenin tüm oluşumlarını değiştirmek için " g " bayrağıyla birlikte normal bir ifade kullanın.

Var myString = "Otomotiv sahilinde otomotiv mermileri satıyor"; var newString = myString.replace(/automotive/g, "deniz"); konsol günlüğü(newString); // "Deniz kıyısında deniz kabuğu satıyor"

İkinci argüman, değiştirilecek alt dizeyi veya işlevi içerebilir.

Belirli bir konumda bir karakter bulun

Hangi karakterin belirli bir konumda olduğunu bulmak için charAt() yöntemini kullanabilirsiniz:

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charAt(7); // "F"

JavaScript'te sıklıkla olduğu gibi, ilk konum 1'den değil 0'dan sayılır.

Alternatif olarak, charCodeAt() yöntemini kullanabilirsiniz, ancak karakterin kendisi yerine kodunu alırsınız.

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Büyük harf kodunun (11. konum) aynı harfin kodundan farklı olduğunu, ancak küçük harfle (7. konum) olduğunu unutmayın.

javascript'te dize birleştirme

Çoğunlukla, dizeleri birleştirmek için (+) operatörünü kullanacaksınız. Ancak, concat() yöntemini kullanarak dizeleri de birleştirebilirsiniz.

Var stringOne = "Knibb High futbolu"; var stringTwo = stringOne.concat("kurallar."); // "Knibb High futbol kuralları"

concat() öğesine birden çok dize iletilebilir ve bunlar, concat() yöntemine eklendikleri sırayla elde edilen dizede görünür.

VarstringOne = "Knibb"; var stringTwo = "Yüksek"; var stringThree = "futbol"; var stringFour = "kurallar."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); konsol.log(finalString); // "Knibb yüksek futbol kuralları."

Bir dizenin parçası (javascript'te alt dizeyi çıkarın)

Varolan bir dizeden bir alt dizenin bir kısmını "çekerek" yeni bir dize oluşturmanın üç farklı yolu vardır.

dilim() kullanarak:

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

substring() kullanarak:

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

Her iki (slice() ve substring()) yöntemi için, ilk argüman alt dizginin başladığı karakter konumudur (0'dan sayılır), ikinci argüman alt dizginin sona erdiği karakter konumudur; ikinci argüman döndürülen alt dizeye dahil edilmez.

substr() kullanarak:

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

substr yöntemi için, ilk argüman alt dizenin başladığı karakter konumunu da belirtir. İkinci argüman isteğe bağlıdır. Ancak aynı zamanda, ikinci argüman, birinci argümanda zaten tanımladığımız konumdan başlayarak, alt dizeye dahil edilmesi gereken karakter sayısını belirtir. Bu teknik, yukarıdaki örnekte iyi bir şekilde gösterilmiştir.

Javascript'te dizeyi küçük harfe veya büyük harfe dönüştürün

Gerekli dönüşümleri yapmak için dört yöntem vardır. Dize karakterlerini büyük harfe dönüştürmek için iki.

Var stringOne = "Konuş, seni"duyamıyorum."; var stringTwo = stringOne.toLocaleUpperCase(); // "SÖYLEYİN, SENİ DUYAMAYACAĞIM" var stringThree = stringOne.toUpperCase(); // "SÖYLEYİN, SENİ DÜŞÜNEMİYORUM"

Ve dizeyi küçük harfe dönüştürmek için iki tane:

Var stringOne = "BAĞIRMAK ZORUNDA DEĞİLSİNİZ"; var stringTwo = stringOne.toLocaleLowerCase(); // "bağırmak" zorunda değilsiniz var stringThree = stringOne.toLowerCase(); // "bağırmana gerek yok"

Genel olarak, yerel bir yöntem ile yerel olmayan bir yöntem arasında bir fark yoktur, ancak "Türkçe gibi, karakter durumu Unicode sisteminde öngörülen durumu takip etmeyen bazı diller için, yerel olmayan bir yöntemin sonuçları Yöntem farklı olabilir." Bu nedenle, şu kuralı izleyin: "Kodun çalışacağı dili bilmiyorsanız, yerel yöntemleri kullanmak daha güvenlidir."

Javascript'te desen eşleştirme

Bir dizgede bir kalıbın varlığını 2 yöntem kullanarak kontrol edebilirsiniz.

Dize nesnesinde match() yöntemi çağrılır ve match() yöntemine bir argüman olarak normal bir ifade iletilir.

Var myString = "Bir ahşap ayna aynası ne kadar ahşap olabilir"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var orijinalString = myResult.input // "Bir ahşap ayna aynası ne kadar ahşap olabilir"

RegExp nesnesinde exec() yöntemi çağrılır, dize bir argüman olarak iletilir:

Var myString = "Bir ahşap ayna aynası ne kadar ahşap olabilir"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var orijinalString = myResult.input // "Bir ahşap ayna aynası ne kadar ahşap olabilir"

Her iki yöntem de ilk eşleşen oluşumu döndürür. Eşleşme bulunamazsa, NULL döndürülür. Normal ifadede " g " bayrağı varsa, sonuç olarak tüm eşleşmeleri içeren bir dizi döndürülür.

Argüman olarak normal bir ifade alan ve eşleşen ilk kalıbın başlangıç ​​konumunu döndüren search() yöntemini de kullanabilirsiniz.

Var myString = "Varsayım"; var patternLocation = myString.search(/ume/); // 3

Eşleşme bulunamazsa, yöntem -1 değerini döndürür.

Sonraki sıralama için iki dizeyi karşılaştırma

Yerel ayardaki sıralama düzenine göre iki dizeyi karşılaştırmak için localeCompare yöntemini kullanabilirsiniz. localeCompare yöntemi, üç olası değer döndürür.

MyString = "tavuk"; var myStringTwo = "yumurta"; var thatCameFirst = myString.localeCompare(myStringTwo); // -1 ( -2 döndüren Chrome hariç) thatCameFirst = myString.localeCompare("tavuk"); // 0 thatCameFirst = myString.localeCompare("elma"); // 1 (Chrome 2 döndürür)

Yukarıda gösterildiği gibi, orijinal dize dize argümanından önce sıralanırsa negatif bir değer döndürülür, dize argümanı orijinal dizeden sonra sıralanırsa +1 döndürülür. null döndürülürse, iki dize eşdeğerdir.

yazarken JavaScript, çok sık olarak, dizelerle çalışan yöntemler için sözdizimi ve parametreler hakkında bilgi aramak için İnternet'te gezinmeniz gerekir.

Dizelerle çalışmakla ilgili birçok makale okudum. Bu gönderi, dizelerle çalışmak için en yaygın yöntemlerin örneklerini ve kısa açıklamalarını gösterecektir. Hızlı başvuru için en yaygın yöntemleri en üste koymaya çalıştım.

Elbette, deneyimli geliştiricilerin çoğu, yöntemlerin çoğuna zaten oldukça aşinadır, ancak bence bu, yeni başlayanlar için karmaşık işlemleri basit araçlarla gerçekleştirmeye yardımcı olabilecek yöntemlerin çeşitliliğini anlamak için iyi bir liste.

Dize Dönüştür

Bir sayıyı, boolean ifadesini veya nesneyi bir dizgeye dönüştürebilirsiniz:

var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

ile aynı şekilde yapabilirsiniz Sicim():

var myNumber = 24; // 24 var myString = String(myNumber); // "24"

Değerin olmadığından emin değilseniz boş veya Tanımsız, kullanabilirsiniz Sicim() değer türünden bağımsız olarak her zaman bir dize döndüren .

Bir dizgiyi alt dizgilere bölme

Dizeleri bir dizi alt diziye bölmek için yöntemi kullanabilirsiniz. bölmek():

Var myString = "coming,apart,at,the,virgül"; var substringArray = myString.split(","); // ["geliyor", "ayrı", "at", "the", "virgül"] var arrayLimited = myString.split(",", 3); // ["geliyor", "ayrı", "at"]

Son satırda görebileceğiniz gibi, fonksiyonun ikinci parametresi, son dizide yer alacak eleman sayısının sınırıdır.

Bir dizenin uzunluğunu alma

Bir dizede kaç karakter olduğunu bulmak için özelliği kullanırız. uzunluk:

Var myString = "Tam bir karaktersin."; var stringLength = myString.length; // 25

Bir dizede bir alt dize bulma

Bir alt dizi aramak için iki yöntem vardır:

kullanım indeksi():

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

indeksi() yöntem, dizenin başından itibaren bir alt dize aramaya başlar ve alt dizenin ilk oluşumunun başlangıcının konumunu döndürür. Bu durumda, 7 numaradır.

kullanım lastIndexOf():

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Yöntem, dizedeki alt dizenin son oluşumunun başlangıç ​​konumunu döndürür.

Alt dize bulunamazsa her iki yöntem de -1 döndürür ve her ikisi de dizede aramaya başlamak istediğiniz konumu belirten isteğe bağlı ikinci bir argüman alır. Böylece, ikinci argüman "5" ise, indeksi() 0-4 karakterlerini yok sayarak 5 numaralı karakterde aramaya başlar, lastIndexOf() 5. karakterde aramaya başlar ve 6. karakterleri ve ötesini yok sayarak geriye gider.

Alt dize değiştirme

Bir dizedeki bir alt dize oluşumunu başka bir alt dizeyle değiştirmek için şunu kullanabilirsiniz: yer değiştirmek():

Var slugger = "Josh Hamilton"; var BetterSlugger = slugger.replace("h Hamilton", "e Bautista"); konsol.log(betterSlugger); // "Jose Bautista"

İlk argüman, değiştirmek istediğiniz şeydir ve ikinci argüman yeni bir dizedir. İşlev, bir dizede yalnızca bir alt dizenin ilk oluşumunu değiştirir.

Tüm oluşumları değiştirmek için, genel bayraklı normal bir ifade kullanmanız gerekir:

Var myString = "Otomotiv sahilinde otomotiv mermileri satıyor"; var newString = myString.replace(/automotive/g, "deniz"); konsol günlüğü(newString); // "Deniz kıyısında deniz kabuğu satıyor"

İkinci argüman özel bir şablon veya işlev içerebilir. Daha fazla detay okunabilir.

Bir dizede belirli bir konumda bir karakter alın

Fonksiyonu kullanarak sembolü alabiliriz. charAt():

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charAt(7); // "F"

JavaScript'te sıklıkla olduğu gibi, bir dizedeki ilk konum 1'den değil 0'dan başlar.

Alternatif bir işlev olarak kullanabilirsiniz karakterKoduAt() karakter kodu olan işlev.

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

"F" (konum 11) karakterinin kodunun "f" (konum 7) karakterinden farklı olduğuna dikkat edin.

Dizeleri birleştirme

Çoğu durumda, dizeleri birleştirmek için "+" operatörünü kullanabilirsiniz. Ama yöntemi de kullanabilirsiniz. birleştirmek():

Var stringOne = "Knibb High futbolu"; var stringTwo = stringOne.concat("kurallar."); // "Knibb High futbol kuralları"

Bu şekilde, birçok satırı yazıldığı sırayla tek bir satırda birleştirebiliriz:

VarstringOne = "Knibb"; var stringTwo = "Yüksek"; var stringThree = "futbol"; var stringFour = "kurallar."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); konsol.log(finalString); // "Knibb yüksek futbol kuralları."

Bir alt diziyi ayıklamak

Başka bir dizenin bir bölümünden bir dize almanın 3 yolu vardır:

kullanma dilim():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

kullanma alt dize():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

Her iki işlevde de, ilk parametre alt dizenin başladığı karakterdir (0 konumundan başlayarak) ve ikinci argüman (isteğe bağlı), alt dizenin döndürüldüğü karakter konumudur. Örnek (5, 10), 5 ve 9 konumları arasındaki dizeyi döndürür.

kullanma substr():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

İlk argüman, yeni satırın başladığı karakter konumudur ve ikinci argüman, yeni satırın başlangıç ​​konumundan itibaren karakter sayısıdır. Onlar. (5, 10), 5 konumundan başlayan 10 karakter döndürür.

Bir dizeyi büyük veya küçük harfe dönüştürün.

Çeviri için 4 yöntem vardır. İlk 2, dizeyi büyük harfe dönüştürür:

Var stringOne = "Konuş, seni"duyamıyorum."; var stringTwo = stringOne.toLocaleUpperCase(); // "SÖYLEYİN, SENİ DUYAMAYACAĞIM" var stringThree = stringOne.toUpperCase(); // "SÖYLEYİN, SENİ DUYAMAYACAĞIM"

Diğer 2 dizeyi küçük harfe dönüştürür:

Var stringOne = "BAĞIRMAK ZORUNDA DEĞİLSİNİZ"; var stringTwo = stringOne.toLocaleLowerCase(); // "bağırmak" zorunda değilsiniz var stringThree = stringOne.toLowerCase(); // "bağırmana gerek yok"

"Yerel" yöntemleri kullanmak daha iyidir, çünkü farklı yerlerde, örneğin Türkiye'de, sicillerin gösterimi alıştığımız şekilde çalışmıyor ve bu nedenle sonuç istediğimiz gibi olabilir. "Yerel" yöntemleri kullanırsanız, böyle bir sorun olmayacaktır.

desen eşleştirme

Bir dizgede desen eşleştirme, farklı şekillerde çalışan 2 yöntemle kullanılabilir.

Yöntem kibrit() bir dizgeye uygulanır ve parametre olarak normal bir ifade alır:

Var myString = "Bir ahşap ayna aynası ne kadar ahşap olabilir"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var orijinalString = myResult.input // "Bir ahşap ayna aynası ne kadar ahşap olabilir"

Yöntem yürüt() normal ifade nesnesine uygulanır ve parametre olarak bir dize alır:

Var myString = "Bir ahşap ayna aynası ne kadar ahşap olabilir"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var orijinalString = myResult.input // "Bir ahşap ayna aynası ne kadar ahşap olabilir"

Her iki yöntem de yalnızca ilk eşleşmeyi döndürür. Eşleşme olmazsa, döner boş.

Yöntemi de kullanabilirsiniz arama() düzenli bir ifade alan ve kalıbın ilk eşleşmesinin konumunu döndüren:

Var myString = "Varsayım"; var patternLocation = myString.search(/ume/); // 3

Eşleşme olmazsa, geri döner " -1 «.

Sıralama için iki dizeyi karşılaştırma

Alfabetik olarak hangisinin önce geldiğini belirlemek için 2 dizeyi karşılaştırabilirsiniz. Bunu yapmak için yöntemi kullanıyoruz yerel ayarKarşılaştır(), 3 olası değer döndürür:

Var myString = "tavuk"; var myStringTwo = "yumurta"; var thatCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome -2) döndürür thatCameFirst = myString.localeCompare("tavuk"); // 0 thatCameFirst = myString.localeCompare("elma"); // 1 (Chrome 2 döndürür)

Yukarıda gösterildiği gibi, dize argümanı orijinal dizeden sonra gelirse negatif bir sayı döndürülür. Dize bağımsız değişkeni orijinal dizeden önce geliyorsa pozitif bir sayı. iade edilirse 0 dizelerin eşit olduğu anlamına gelir.

Dönüş değerini kontrol etmek için if (sonuç< 0), чем if (result === -1). Последнее не будет работать в Chrome.

İlginiz için teşekkür ederim, umarım birçok yeni ve ilginç şey öğrenmişsinizdir!

Makale yazarı: Alex. Kategori:
Yayın tarihi: 03/19/2013

Hemen uyarayım, evet yazı biraz yanlış olmuş, yorumlara hoş geldiniz, güzel açıklamalar var).

İyi günler.

JavaScript'in iki benzer operatörü vardır: == ve ===. Farklılıklarını bilmiyorsanız, bu bir sürü hataya dönüşebilir. Bu yüzden bu konuyu açmaya karar verdim. == ve === arasındaki fark tam olarak nedir, nasıl çalışırlar, neden olur ve hatalardan nasıl kaçınılır.

== operatörü eşitlik için karşılaştırır, ancak === kimlik için karşılaştırır. === operatörünün avantajı, iki değeri aynı türe zorlamamasıdır. Bu yüzden yaygın olarak kullanılmaktadır.

Abc == tanımsız; // true ise abc = tanımsız | boş abc === tanımsız; // true - yalnızca abc = tanımsızsa!
abc == yanlış; // true ise abc = false | 0 | "" | abc === yanlış; // sadece abc = false ise doğru!
Sonuçta, false ve 0 (veya "" veya ) karıştırmak pek iyi değildir.

Elbette:
5 === 5; // doğru doğru === doğru; // true "abc" === "abc"; // doğru

Ve şimdi ilginç bir örnek.
5 == 5; // doğru 5 === 5; // true new Number(5) == 5; // true new Number(5) === 5; // YANLIŞ!

Neden oluyor? Evet, herhangi bir sayı, Number sınıfının bir nesnesidir. Ancak bir sayıyı rakam olarak temsil edebilirsiniz - bir miktar sabit. Bir kez ilan edilir ve her zaman kendisiyle aynıdır. Ancak aynı zamanda Number sınıfının yeni bir nesnesini ilan etmek - değer olarak ona eşittir, ancak aynı değildir (çünkü bunlar Number sınıfının tamamen farklı iki nesnesidir).

Diziler / Nesneler

Ancak diziler ve nesneler için her iki operatör de aynı şekilde çalışır ve kimlik için karşılaştırır:
var a =(); bir == (); // yanlış bir === (); // yanlış bir == bir; // doğru bir === bir; // doğru

Dizileri ve nesneleri karşılaştırmak için özel bir işlev yazabilirsiniz:
function isEq(a, b)( if(a == b) return true; for(var i in a)( if(!isEq(a[i], b[i])) return false; ) for(var i b)( if(!isEq(a[i], b[i])) içinde false döndürür; ) true döndürür; )
Biraz özensiz, iki döngü ve yaklaşık Sahip OwnProperty Unuttun; iyi yapacak.

Bu<-

Başka bir tuzak var. Bu, buna bir geçiştir.
(function()( bu == 5; // true bu === 5; // false )).call(5);

İşte böyle bir an. Bunu unutmamakta fayda var.

Toplam...

Şimdi kendi süper çerçevemizi yazdığımızı hayal edin, orada == yerine aktif olarak === operatörünü kullanıyoruz çünkü daha güzel ve birisi bizde birkaç hata buluyor.
func(yeniSayı(5)); (fonksiyon()( func(bu); )).çağrı(5);

Görünüşe göre bu tür örnekler uygulanabilir değil mi? Lütfen!

jQuery:
$.each(, function()( func(bu); ));

Peki ya da rakamı genişletmek istedim.
var Five = new Number(5); beş.a = 2; // Genişletmek istedim ama sadece 5'i genişlemiyor // burada bir şekilde kullanıyoruz... func(Beş);

Hepsi bu, umarım birileri için faydalı olur. Dikkatiniz için teşekkürler.

Karşılaştırma operatörlerinin işlenenleri sayısal ve dize değerleri olabilir. Unicode kullanılırken dizeler standart sözlük sırasına göre karşılaştırılır.

Javascript hem katı karşılaştırmaya hem de döküm karşılaştırmasına izin verir. Kesin bir karşılaştırma için, her iki işlenen de aynı türde olmalıdır ve:

  • Aynı karakter dizisinden oluşuyorsa iki dize kesinlikle eşittir
  • Kelimenin genel anlamıyla eşitlerse, iki sayı kesinlikle eşittir. +0 kesinlikle -0'a eşittir.
  • NaN, NaN dahil hiçbir şeye kesinlikle eşit değildir
  • Her ikisi de doğru veya yanlışsa, iki boolean işlenen kesinlikle eşittir
  • Aynı ortak nesneye referanslarsa, iki nesne işleneni kesinlikle eşittir
  • Null ve Undefined eşittir == ama kesinlikle eşit değil ===

Aşağıdaki tabloda karşılaştırma operatörleri açıklanmaktadır:

Şebeke Tanım var1=3, var2=4 için true döndüren örnekler
Eşittir (==) İki işlenen aynı türden değilse, javascript bir tür dönüşümü yapar ve kesin olarak karşılaştırır. İşlenenlerden biri bir sayı veya boole değeriyse, işlenenler sayılara dönüştürülür; herhangi bir işlenen bir dize ise - ikincisi bir dizeye dönüştürülür

3 == var1
"3" == var1
3 == "3"

Eşit Değil (!=) İşlenenler eşit değilse true döndürür. İşlenenler farklı türdeyse, javascript dönüştürür.

var1 != 4
var1 != "5"

Kesinlikle eşit (===) Tür dönüştürme olmadan işlenenler kesinlikle eşitse (yukarıya bakın) true döndürür.
Kesinlikle eşit değil (!==) İşlenenler kesinlikle eşit değilse (yukarıya bakın) veya farklı türlerdeyse true döndürür.

var2 !== 3
3 !== "3"

Daha fazla (>) Sol işlenen sağdan büyükse true döndürür.
Büyüktür veya eşittir (>=) Sol işlenen, sağ işlenenden büyük veya ona eşitse true döndürür.

var2 >= var1
var1 >= 3

Az (<) Sol işlenen sağ işlenenden küçükse true döndürür.
Küçük veya eşit (<=) Sol işlenen, sağ işlenenden küçük veya ona eşitse true döndürür.

var1<= var2
var2<= 5

Karşılaştırma Operatörlerini Kullanma

Standart eşitlik operatörleri (== ve !=), türlerinden bağımsız olarak iki işleneni karşılaştırır. Kesin eşitlik (=== ve !==), aynı türdeki işlenenleri karşılaştırır. İşlenenlerin aynı tür ve değerde olması gerekiyorsa katı eşitlik kullanın. Aksi takdirde, farklı türde olsalar bile işlenenlerin eşitliğini kontrol etmenize izin veren normal eşitlik operatörlerini kullanın.

Türleri dönüştürürken JavaScript, String , Number , Boolean ve Object'i aşağıdaki gibi dönüştürür:

  • Bir sayı ve bir dizeyi karşılaştırırken, dize sayısal bir değere dönüştürülür. Javascript, sayının değerini dize değişmezinden alır: "123" == 123 .
  • İşlenenlerden biri boole ise, doğruysa 1'e, yanlışsa +0'a dönüştürülür.
  • Bir nesne bir sayı veya dize ile karşılaştırılıyorsa, javascript nesne için karşılık gelen değeri almaya çalışır. valueOf ve toString yöntemlerini kullanarak bir nesneyi ilkel bir değere, dizeye veya sayıya dönüştürür. Nesne dönüştürülemezse, bir çalışma zamanı hatası oluşturulur.