Katı Eşitlik Karşılaştırması ( = = = ) ("katı eşitlik", "kimlik", "üçlü eşittir"): Katı eşitlik eşitlik için iki değeri karşılaştırır. Her iki değer de karşılaştırılmadan önce örtük olarak başka bir değere dönüştürülmez. Değerlerin farklı türleri varsa, değerler eşitsiz kabul edilir. Değerler aynı türe sahipse, sayı değilse ve aynı değere sahipse, bunlar eşit kabul edilir. Aksi takdirde değeri karşılaştırmak için.
var num = 0;
var str = '0';
console.log(num === str); // false
Özet Eşitlik Karşılaştırması ( = = ) ("gevşek eşitlik", "çift eşittir"): Kullanarak gevşek eşitlik gerçekleştirme davranışı ==
aşağıdaki gibidir. Gevşek eşitlik, her iki değeri de ortak bir türe dönüştürdükten sonra eşitlik için iki değeri karşılaştırır. Dönüşümlerden sonra (bir veya her iki taraf da dönüşüm geçirebilir), nihai eşitlik karşılaştırması tam olarak şu şekilde gerçekleştirilir ===
bunu gerçekleştirir.
var num = 0;
var str = '0';
console.log(num === str); // true
Eşitlik karşılaştırmaları ve aynılık
Sorununuz için, bu sonucu elde etmek mantıklıdır, çünkü array :any[] değerini sayıya atmanız ve sıkı bir karşılaştırma yapmanız gerekir.
let categoryIds: any[] = [];
let nrtPatchCategory: number = 30;
// browse categoryIds arrays (you can use any other method like for ...)
categoryIds.forEach(categoryId => {
if (Number(categoryId) === nrtPatchCategory) {
...
}
});
Not: forEach() Dizisi hakkında daha fazla ayrıntı için.prototip.dosyalarda()
Exemple:
console.log(2 === Number('3')); // false
console.log(3 === Number('3')); // true