Rewrite to class
importance: 5
The Clock
class (see the sandbox) is written in functional style. Rewrite it in the “class” syntax.
P.S. The clock ticks in the console, open it to see.
class
Clock
{
constructor
(
{
template }
)
{
this
.
template =
template;
}
render
(
)
{
let
date =
new
Date
(
)
;
let
hours =
date.
getHours
(
)
;
if
(
hours <
10
)
hours =
'0'
+
hours;
let
mins =
date.
getMinutes
(
)
;
if
(
mins <
10
)
mins =
'0'
+
mins;
let
secs =
date.
getSeconds
(
)
;
if
(
secs <
10
)
secs =
'0'
+
secs;
let
output =
this
.
template
.
replace
(
'h'
,
hours)
.
replace
(
'm'
,
mins)
.
replace
(
's'
,
secs)
;
console.
log
(
output)
;
}
stop
(
)
{
clearInterval
(
this
.
timer)
;
}
start
(
)
{
this
.
render
(
)
;
this
.
timer =
setInterval
(
(
)
=>
this
.
render
(
)
,
1000
)
;
}
}
let
clock =
new
Clock
(
{
template
:
'h:m:s'
}
)
;
clock.
start
(
)
;