In case of non primitive types (e.g objects) they are compared by reference also holds true for abstract equality operator i.e "==", its not only true for strict equality operator i.e "===".
e.g
let obj = {x:1};
let obj1 = {x:1};
let obj2 = obj;
console.log(obj == obj1); // false since obj and obj1 points to //different objects
console.log(obj === obj1); // false as expected
console.log(obj2 == obj); // true
console.log(obj2 === obj); // true
let arr = [1,2,3];
let arr1 = [1,2,3];
let arr2 = arr;
console.log(arr == arr1); // false
console.log(arr === arr1); // false
console.log(arr2 == arr); // true
console.log(arr2 === arr); // true