Если вы не хотите включать негативы, это будет работать, как и ваше решение.
var valAsString = val.toString();
if (valAsString.length === 1) {}
Вы можете просто проверить, находится ли строка между -10 и 10 (при условии, что вы хотите включить отрицания). Это будет самый быстрый способ, но он не будет работать для нецелых чисел, поэтому его лучше избегать.
Если вы хотите включить негативы, я бы, наверное, проверил, является ли число целым числом, тогда я бы добавил что-то подобное:
var isSingleDigitIncludingNegatives = function( arg ) {
return ((typeof(myNum)=='number') && (myNum.toString().indexOf('.')==-1)) && (( -10 < arg ) && ( arg < 10))