Вам необходимо пересчитать условие, которое вы сравниваете (|| '('
всегда будет истинным):
if(str[0] === '1' || str[0] === '(' && str.length >= 10) {
Это связано с тем, что &&
имеет больший приоритет, чем ||
оператор.Поэтому без скобок часть выражения '(' && str.length >= 10
вычисляется первой.Таким образом, конечное состояние становится str[0] === '1' || true
, что всегда будет верным.Таким образом, ваш код будет возвращать true для любой строки длины> = 10