-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Решение задач раздела Основы: Часть 1 #2
Conversation
Добавляю преподавателя (@ShGKme) для код-ревью. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Принято, но не злоупотребляйте ?.
оператором.
Его повсеместное использование не спасает от ошибок, а просто скрывает их, заменяя ошибку на undefined
в вычислениях. Либо мы знаем, что в данных не null
и проверка не нужна, либо мы должны учитывать возможности их отсутствия. В этом случае мы не можем просто заменить их на undefined/null
и дальше использовать это значение в математических вычислениях или в качестве в качестве ключа объекта.
isNightTime: ({dt, sunrise, sunset}) => { | ||
const todayStr = (new Date()).toDateString(); | ||
const dtDate = new Date(`${todayStr} ${dt}`); | ||
const sunriseDate = new Date(`${todayStr} ${sunrise}`); | ||
const sunsetDate = new Date(`${todayStr} ${sunset}`); | ||
|
||
return dtDate < sunriseDate || dtDate > sunsetDate; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Строки в формате HH:MM
можно сравнивать просто лексикографически как строки без преобразований. '08:30' < '09:12'
<div v-if="weatherItem?.alert" class="weather-alert"> | ||
<span class="weather-alert__icon">⚠️</span> | ||
<span class="weather-alert__description">Королевская метеослужба короля Арагорна II: Предвещается наступление сильного шторма.</span> | ||
<span class="weather-alert__description">{{ weatherItem?.alert?.sender_name }}: {{ weatherItem?.alert?.description }}</span> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Проверка как на weatherItem
, так и на alert
внутри не нужна. Проверка уже была сделана в v-if="weatherItem?.alert"
. Далее мы точно знаем, что weatherItem.alert
определён
</div> | ||
</div> | ||
<div class="weather-conditions"> | ||
<div class="weather-conditions__icon" title="thunderstorm with heavy rain">⛈️</div> | ||
<div class="weather-conditions__temp">15.0 °C</div> | ||
<div class="weather-conditions__icon" v-bind:title="weatherItem.current?.weather?.description">{{ weatherIcons[weatherItem.current?.weather?.id] }}</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это не ошибка, но принято всегда использовать короткую запись: :title
No description provided.