NaNは「非数(Not a Number)」。文字列を数値として計算しようとしたときによく発生します。
const a = "10";
const b = "5";
console.log(a - b * 1, a + b); // 引き算は動くが + は文字列連結
const a = Number("10");
const b = Number("5");
console.log(a + b); // 15
// 数値化できない場合の保険
const n = Number("abc");
console.log(Number.isNaN(n) ? 0 : n);
▶ 修正済みコードを実行エディタで開く
入力値は文字列なので、Number()やparseInt()で数値に変換してから計算します。+は文字列だと連結になる点に注意。NaN判定はNumber.isNaN()で行います(x === NaNは常にfalse)。