if (str.substr(2, 2) == 'то' || str.substr(5, 2) == 'то') {
}
Это модель или, где str.substr(2, 2) равно 'то'
или str.substr(5, 2) равно 'то'. Тоесть что то одно из двух равно и условие пропускает код внутри.
А если так сделать:
if (str.substr(2, 2) == 'то' && str.substr(5, 2) == 'то') {
}
тогда оба варианта должны быть равны 'то'
Можно таким синтаксисом записать:
str.substr(2, 2) == 'то' || str.substr(5, 2) == 'то' ? /* тут код если равно*/ : /* Тут если нет */;
Можно заменить || на && если оба варианта должны быть равны.