Что нужно сделать чтобы в случае ввода буквы и цифры (например 12a), мне не выводило сумму?
Основано на https://stackoverflow.com/questions/175739/built-i...
let num = prompt('Введите трехзначное число');
var sum = 0;
if(isNaN(num))  
   alert('Ввыдите только числа');
else{
    for ( let i = 0; i < num.length; i++)
        sum +=parseInt(num[i]);
    alert(sum);
}
Например так

let num = prompt('Введите трехзначное число');
let sum = 0;
let digit;
let valid = true; // создадим переменную для хранение валидно / не валидно
for ( let i = 0; i < num.length; i++){
    digit = parseInt(num[i]);
    if (digit){
        sum = sum + digit;
    } else{
        valid = false; // зададим значения не валидно
        alert('Ввыдите только числа');
    }
}

// проверим и выведим сумму только если ввод был валиден
valid ? alert(sum) : null; // if ( valid ) { alert(sum)  }