Verificación de dígitos de un número en JavaScript

Supongamos que tenemos un número:

javascriptlet num = 12345;

Intentar acceder al primer carácter del número conducirá a un comportamiento inesperado:

javascriptlet num = 12345;

if (num[0] == 1) {
  console.log('+++');
} else {
  console.log('---'); // esto se ejecutará
}

Como ya debes saber, el problema es que puedes acceder a los caracteres de una cadena, pero no a los dígitos de un número:

javascriptlet num = 12345;
console.log(num[0]); // mostrará undefined

Para resolver el problema, convirtamos nuestro número a cadena:

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

if (str[0] == 1) {
  console.log('+++'); // esto se ejecutará
} else {
  console.log('---');
}

No es necesario introducir una nueva variable, se puede aplicar [0] directamente al resultado de la función String:

javascriptlet num = 12345;

if (String(num)[0] == 1) {
  console.log('correcto'); // mostrará 'correcto'
} else {
  console.log('incorrecto');
}

Supongamos ahora que queremos verificar si el primer dígito es igual a 1, o a 2. Escribamos el código correspondiente:

javascriptlet num = 12345;

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

En este caso, resulta que la construcción String(num)[0] se repite dos veces. Esto, en primer lugar, es largo, y en segundo lugar, no es óptimo, ya que convertimos el número a cadena dos veces - la segunda vez resulta redundante, y los recursos del programa se gastan en ello.

Arreglemos el problema:

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

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

Se da un número entero. Escribe una condición que verifique si el último dígito de este número es igual a cero.

Задание 2

Supongamos que en la variable num se almacena un número. Determina si el número es par o no. El número será par si el último carácter es igual a 0, 2, 4, 6 o 8, e impar en caso contrario.