Опасаясь кругового спора, вы используете его, когда вам это нужно. : -)
Я бы сказал, что это примерно так же, как в C #. В обоих случаях, когда вы используете оператор равенства, он проверяет, являются ли они одним и тем же объектом (а не отдельными, но эквивалентными объектами).
Например, предположим, у вас есть массив объектов, и содержимое этого массива может измениться. Позже у вас есть объект, который вы должны удалить. Вы бы сравнили объект, который нужно удалить, с объектами в массиве, чтобы увидеть, нужно ли его удалять (часто в операции filter
):
arrayOfObjects = arrayOfObjects.filter(obj => obj !== objToRemove);