@mkone112
Начинающий питонист.

Следует ли использовать строгое сравнение?

Беглый поиск, к сожалению, дал противоречивые результаты. На мой взгляд - чем строже проверки - тем лучше, но я могу ошибаться.
  • Вопрос задан
  • 147 просмотров
Пригласить эксперта
Ответы на вопрос 2
Seasle
@Seasle Куратор тега JavaScript
Когда-то видел одну статью, и суть была в том, что разбирали данный пример:
a == 1 && a == 2 && a == 3 // true
Вот такой вот интересный код, который возвращал true, и если не знать как работает ==, можно было бы подумать, что это некоторое шаманство. Суть в том, что == преобразует типы (а также вызывает valueOf). Зная правило с valueOf, переменная a была равна следующему:
const a = {
  value: 1,
  valueOf() {
    return this.value++;
  }
};

Так что вывод такой - всегда используйте === (ну или почти всегда).
Ответ написан
Комментировать
webdisigner
@webdisigner
если у тебя два операнда одного типа то необязательно, а ответить на вопрос однозначно невозможно, с опытом сам придешь к этому

== гибкий
=== строгий

2 == '2' //true
2 === '2' //false

я пользуюсь первым вариантом потому что полностью контролирую поведение своих программ и не вижу смысла везде строчить строгую проверку
это ведь глупо использовать что-то где оно совершенно ненужно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы