Разница между == и === в JavaScript

В чем разница между этими двумя операторами? Если можно то подетальнее объясните, а то я до сих пор ничего особо не понял)

Три равно (===) это оператор строгого сравнения, в начале он проверяет тип, а затем на идентичность если не ошибаюсь, то есть если тип будет разный то это уже будет false

1 === "1" // возвращает false

Двойное равно (==) это оператор грубого сравнения, то есть при сравнении он не проверяет типы, а пытается преобразовать для того что бы элементы были сравнимыми, то есть то же равенство тут даст другой результат так как 1 в формате string будет приведена к типу int

1 == "1" // возвращает true

У оператора грубого сравнение (==) очень много нюансов которые нужно помнить, поэтому надежнее использовать оператор строгого сравнения ===.