Проверка цифр числа в JavaScript

Пусть у нас дано число:

javascriptlet num = 12345;

Попытка обратиться к первому символу числа приведет к неожиданному поведению:

javascriptlet num = 12345;

if (num[0] == 1) {
  console.log('+++');
} else {
  console.log('---'); // сработает это
}

Как вы уже должны знать, проблема в том, что можно обращаться к символам строки, но нельзя - к цифрам числа:

javascriptlet num = 12345;
console.log(num[0]); // выведет undefined

Для решения проблемы преобразуем наше число в строку:

javascriptlet num = 12345;
let str = String(num);

if (str[0] == 1) {
  console.log('+++'); // сработает это
} else {
  console.log('---');
}

Не обязательно вводить новую переменную, можно применить [0] непосредственно к результату функции String:

javascriptlet num = 12345;

if (String(num)[0] == 1) {
  console.log('верно'); // выведет 'верно'
} else {
  console.log('неверно');
}

Пусть теперь мы хотим проверить первую цифру на то, что она равна 1, либо 2. Напишем соответствующий код:

javascriptlet num = 12345;

if (String(num)[0] == 1 || String(num)[0] == 2) {
  console.log('+++');
} else {
  console.log('---');
}

В данном случае получается, что конструкция String(num)[0] повторится два раза. Это, во-первых, длинно, а во-вторых, не оптимально, так как мы два раза преобразуем число в строку - второй раз получается лишний, а ресурсы программы на это тратятся.

Исправим проблему:

javascriptlet num = 12345;
let first = String(num)[0];

if (first == 1 || first == 2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 1

Дано целое число. Напишите условие, которое проверит, равна ли последняя цифра этого числа нулю.

Задание 2

Пусть в переменной num хранится число. Определите, четное число или нет. Число будет четным, если последний символ равен 0, 2, 4, 6 или 8, и нечетным в противном случае.