Возможно, потому что он проверяет, является ли ввод ложным , например if (!input) error = true;
0 - ложь, а также множество других значений (см. Ссылку). Если он просто хочет, чтобы он не был пустым, он должен специально проверить наличие пустой строки, if (input === "") error = true;