Я нашел код, который выглядит так
var v = color.val(), sel_c = (v == '') ? "#234872" : v;
Я не уверен, почему это было написано так, но мне было интересно, как это читать. Если бы у нас просто было
var v = color.val();
или же
var sel_c = (v == '') ? "#234872" : v;
Я пойму. Но что это значит, когда вы разделяете его запятыми? Как будто мы пытаемся установить сразу несколько переменных или что-то в этом роде ...



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ага, совершенно верно, чтобы не писать var, let или const несколько раз
const a = 1,
b = a + 1,
c = b + 1;
console.info(a, b, c);Такой же как
const a = 1;
const b = a + 1;
const c = b + 1;
всего несколько var, let или const меньше для записи.
Этот:
var v = color.val(), sel_c = (v == '') ? "#234872" : v;
равно:
var v = color.val();
var sel_c = (v == '') ? "#234872" : v;
Единственное преимущество написания его в одну строку состоит в том, что ваш код будет немного «короче».
Я лично считаю это некрасивым и трудным для чтения.
Ниже приведен эквивалент опубликованного вами кода:
var v= color.val();
var sel_c;
if (v==''){
sel_c = "#234872"
}else{
sel_c=v;
}
Что касается того, почему это было написано так, как вы его разместили - я считаю, что это для экономии «места». Под пробелом я подразумеваю не байты данных, а строки в редакторе кода. По крайней мере, это причина, по которой я всегда получаю. Я лично считаю, что такой код менее читабелен, даже если он более компактный.
оператор запятой используется для разделения нескольких операторов.
В случае присвоения переменной это просто способ пропустить последующие ключевые слова var. Каждая переменная устанавливается по очереди
Спасибо! Не знал терминологии, чтобы погуглить.
Почему бы вместо этого не сделать массив?