以下两项中的每一项都包含相同的字符串值,但使用'==='的比较返回false。
(hiddenColumns[hidenColsIndex] === cells[metricColsIndex].columnName)
使用'=='进行比较会返回true
(hiddenColumns[hidenColsIndex] == cells[metricColsIndex].columnName)
为什么?
答案 0 :(得分:2)
//a and b are equal in data but not equal in type
var a = 1;
var b = "1";
//== will return true
if (a == b)
{
console.log("true");
}
else
{
console.log("false");
};
//=== will return false
if (a === b)
{
console.log("true");
}
else
{
console.log("false");
};
答案 1 :(得分:1)
您没有比较两个相同类型的对象。其中一个值(或两者)不是字符串。
答案 2 :(得分:0)
===表示比较值和数据类型。
如果要比较两个元素的值及其数据类型,===应为false。
在您的情况下,第一个语句是false,因为它们是两种不同的数据类型 在第二种情况下,该语句为真,因为值相同(考虑比较两个普通对象)