Криво работает условный оператор в javascript

Вопрос в том почему третий месяц программа считает зимним

if (myMonth == 01 || myMonth == 02 || myMonth==12) {
  document.write("Время года: зима");

} else if (myMonth > 02 || myMonth ==04 || myMonth ==05) {
  document.write("Время года: весна");

} else {
  document.write("Время года: s");
}

введите сюда описание изображения

введите сюда описание изображения

введите сюда описание изображения


Ответы (3 шт):

Автор решения: Sani
if (myMonth == 01 || myMonth == 02 || myMonth == 12) {
 text = "Время года: зима";
} else if (myMonth == 03 || myMonth == 04 || myMonth == 05) {
 text = "Время года: весна";
} else if (myMonth == 06 || myMonth == 07 || myMonth == 08) {
 text = "Время года: лето";
} else {
 text = "Время года: осень";
}
document.write(text);
→ Ссылка
Автор решения: meine

const months = {
  '01': 'зима',
  '02': 'зима',
  '03': 'весна',
  '04': 'весна',
  '05': 'весна',
  '06': 'лето',
  '07': 'лето',
  '08': 'лето',
  '09': 'осень',
  '10': 'осень',
  '11': 'осень',
  '12': 'зима'
};

const input = document.querySelector('.input');
const output = document.querySelector('.output');

input.addEventListener('input', e => {
  output.innerHTML = `Время года: ${months[e.target.value] && months[e.target.value] || 'неверное значение'}`;
});
<input class="input" type="text">

<p class="output">Введите месяц, пример: 01, 02...</p>

→ Ссылка
Автор решения: Alex Krass

О, раз уж в комментариях уже ответили, что ошибка вы вычитании, то я тоже хочу принять участие в оптимизации кода в ответах.

document.getElementById("result").onclick = _ => {
    let number = parseInt(document.getElementById("num").value);
    document.getElementById("answer").innerText = 
        ["зима","весна","лето","осень"][Math.floor(number / 3) % 4];
}
<div>
  Введите номер месяца [01-12]: <input id="num" type="text" /> 
</div>
<br />
<div>
  <button id="result">Вывести название времени года</button>
</div>
<div id="answer" />

→ Ссылка