dima85,
эмм.. какие передние скобки?
? : - это
условный оператор
Можете сделать так
if(/,/.test(str)){
}else{
}
суть та же.
/,/
- это могучее регулярное выражение, про них тут
Регулярные выражения
и тут
Особенности регулярных выражений
Вместо всего этого можно воспользоваться
indexOf методом строк
if(str.indexOf(",") != -1){
//запятые есть
}else{
//запятых нет
}
Делайте как считаете нужным, тернарный оператор ухудшает читаемость кода, но делает его короче. Без регулярного выражения тут можно обойтись конечно. Что быстрее работает, indexOf или test я не знаю, но думаю у вас не особо важна такая мелкая оптимизация
UPD
(cond ? expr1 : expr2 )
Тут скобки нужны чтобы отделить одно выражение от другого
если бы было
alert("Привет" + false ? " ya" : " no");
то сами видите, что условие истинно, так как "Привет" + false после приведения к булевому типу == true
alert(Boolean("Привет" + false));
а если
alert("Привет" + (false ? " ya" : " no"));
то то условие ложно и все ок