var timer;
ваша переменная создана, но никакое значение не связано, оно будет неопределенным
timer === 1000;
это условие не определено === 1000 с ложным значением
console.log(timer);
без значениязадается таймером, поэтому он будет показывать неопределенное
На самом деле, если вы замените === (строгое сравнение) на = (назначить) в своем коде, console.log
покажет 1000 в первом журнале и 100 во втором