เข้มงวดความเท่าเทียมเปรียบเทียบ(===) ("เข้มงวดความเท่าเทียม","การแสดงตัว","ทริปเปิ้ลมีค่าเท่ากับ") :เข้มงวดความเท่าเทียม compares สองค่าสำหรับความเท่าเทียม. ก็เหมือนกัคืนค่า implicitly แปลงบางอย่างอื่นค่าก่อนถูกเมื่อเทียบกับ. ถ้ามีค่าต่างออกประเภทที่ค่าเป็นพิจารณา unequal. ถ้ามีค่าเดียวกับประเภทไหมไม่ใช่ตัวเลขและมีค่าเดียวกันพวกเขาถูกพิจารณาเท่าเทียม ไม่อย่างนั้นเพื่อเปรียบเทียบค่า.
var num = 0;
var str = '0';
console.log(num === str); // false
แบบนามปธรรมความเท่าเทียมเปรียบเทียบ(==) ("ปล่อยความเท่าเทียม","สองมีค่าเท่ากับ") :พฤติกรรมสำหรับการปล่อยความเท่าเทียมใช้ ==
คือที่ตามมา ปล่อยความเท่าเทียม compares สองค่าสำหรับความเท่าเทียมหลังจากการเปลี่ยนแปลงค่าไปเป็นเหมือนกันแบบนั้น หลังจาก conversions(หนึ่งหรือทั้งสองด้านอาจจะต้องไปทำการข conversions),สุดท้ายความเท่าเทียมเปรียบเทียบคือแสดงเหมือนอย่างที่ ===
performs มัน
var num = 0;
var str = '0';
console.log(num === str); // true
ความเท่าเทียม comparisons และ sameness
สำหรับปัญหาของคุณมันเป็นตรรกะว่าจะได้ผลเพราะคุณต้องการแสดงค่าของตารางคู่ลำดับ:มี[]ต้องจำนวนและทำให้เข้มงวดเปรียบเทียบ.
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) {
...
}
});
ข้อควรจำ: หากรายละเอียดของ forEach() อาเรย์.ตัวต้นแบบforEach()
Exemple:
console.log(2 === Number('3')); // false
console.log(3 === Number('3')); // true