Я пытался понять разницу между операторами сравнения JavaScript: личность и равенство. Из того, что я прочитал, если вы проверите равенство двух объектов с помощью ==, JavaScript попытается выяснить, являются ли они одним и тем же типом, а если нет, попытайтесь получить их для того же типа. Однако === не ведет себя одинаково. Итак, пример:
var n = "1";
console.log(n==1); // outputs true
console.log(n===1); // outputs false
В чем же разница между этими "идентичными" операторами и регулярными операторами равенства? В чем преимущество обоих?
Существуют ли различия в производительности? Я бы подумал, что оператор идентичности будет быстрее, поскольку он не выполняет преобразование.
Кроме того, как они отличаются друг от друга, когда речь идет о более сложных объектах, например массивах? Самое главное, что говорят в конвенциях о том, когда нужно использовать друг друга, почему?