I have the following function:
function generateTimeStamp(currentDate = null) {
if (!currentDate) {
let hours = Math.round(1+(23*Math.random()));
console.log('hours is ' + hours.toString());
} else {
let hours = currentDate.getHours();
}
if (hours < 10) {hours = "0" + hours;}
return hours;
As you can see, I define the variable hours
in a way or the other depending on the fact that the parameter currentDate
is (or not) null
, but I define it in any case.
If you see inside the first if
block, the console.log()
logs me correctly the value of the variable hours
.
However, right after (when I try to perform the last instruction before return
), I get an exception saying hours is not defined
.
- Why does the variable
hours
loses its value outside the if block? - How can I fix my issue?
Here a JSFiddle to play around.