次の2つの項目にはそれぞれ同じ文字列値が含まれていますが、「===」を使用した比較ではfalseが返されます。
(hiddenColumns[hidenColsIndex] === cells[metricColsIndex].columnName)
'=='を使用したこの比較はtrueを返します
(hiddenColumns[hidenColsIndex] == cells[metricColsIndex].columnName)
なんで?
次の2つの項目にはそれぞれ同じ文字列値が含まれていますが、「===」を使用した比較ではfalseが返されます。
(hiddenColumns[hidenColsIndex] === cells[metricColsIndex].columnName)
'=='を使用したこの比較はtrueを返します
(hiddenColumns[hidenColsIndex] == cells[metricColsIndex].columnName)
なんで?
//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");
};
同じタイプの2つのオブジェクトを比較していません。値の1つ(または両方)が文字列ではありません。
===は、値とデータ型を比較することを意味します。
2つの要素の値とデータ型を比較する場合、===はfalseである必要があります。
あなたの場合、最初のステートメントは2つの異なるデータ型であるため、falseです。2番目のケースでは、値が同じであるため、ステートメントはtrueです(2つのプレーンオブジェクトが比較されることを考慮)。