Переписать функцию в ES6
const timeEveryOneMinute = () => { let Data = new Date(); let Hour = Data.getHours(); let Minutes = Data.getMinutes(); console.log("Текущее время: " + Hour + ":" + Minutes + " "); setTimeout(timeEveryOneMinute, 1000 * 60); } timeEveryOneMinute(); На курсах просят переписать в стиле ES6. Прошу Гуру форума помочь. Спасибо! |
DarkPhoenix,
вы спросите, чего в |
DateTimeFormat
DarkPhoenix,
const timeEveryOneMinute = () => { const data = new Date(), time = new Intl.DateTimeFormat("ru", { hour: "2-digit", minute: "2-digit" }).format(data); console.log(`Текущее время: ${time}`); setTimeout(timeEveryOneMinute, 1000 * 60); } timeEveryOneMinute(); |
Оно и так стиле es6.
А в современном стиле оно как-то так: import moment from 'moment' import timer from 'some-super-timer' import logger from 'some-super-logger' timer.every(60).run(step => logger.log( moment().format("Текущее время: HH:mm") ));(*код вымышлен, все совпадения случайны:) ) |
|
Malleys,
а можно словами или примером, для наглядности, что не так с кодом? |
рони,
Можно предположить, что let Data и let Time противоречат этому: Цитата:
|
Dilettante_Pro,
поправил #3 |
Цитата:
Я думаю, автору интересна последняя версия JavaScript, описанная в EcmaScript2019... Конкретно пример автора может быть записан так... (function timeEveryOneMinute() { const date = new Date(); const hours = String(date.getHours()).padStart(2, "0"); const minutes = String(date.getMinutes()).padStart(2, "0"); console.log(`Текущее время: ${hours}:${minutes}`); setTimeout(timeEveryOneMinute, 1000 * 60); })(); Пример рони так... (function timeEveryOneMinute() { const date = new Date(); const timeOptions = { hour: "2-digit", minute: "2-digit" }; const time = date.toLocaleTimeString("ru", timeOptions); console.log(`Текущее время: ${time}`); setTimeout(timeEveryOneMinute, 1000 * 60); })(); Пример Aetae возможен, но требует инструментов трансформации кода, сборки, наличие node.js (использование проприетарных импортов) |
Цитата:
|
Часовой пояс GMT +3, время: 23:37. |