Могу ли я использовать только if
и else
в инструкции в тройном синтаксисе оператора или я могу каким-то образом включить else if
?
пример:
if(a) {
x
}
else if(y) {
c
}
else {
b
}
В отличие от if
с дополнительным else
или необязательным else if
ветки, тройной оператор имеет две и только две ветки.
Если вы добавите второе предложение, вы можете иметь else if
если хотите,
a ? b : (c ? d : e)
Это, как правило, плохая идея, поскольку тройные операции могут быть беспорядочными для начала, и такое наслаждение обычно представляет собой экспресс-поезд к неподготовленному коду.
Гораздо лучше написать:
if (a) {
b
}
else if (c) {
{
d
}
else {
e
}
Это более многословно, но совершенно ясно.
Если вы используете агрессивно троицы, вы получите код, например:
a()?c?d?e:f:g:h?i(j?k:l?m:n):o
Там, где это все догадывается, что происходит там.
Вы можете складывать несколько тройников:
var x = (y) ? 1 : ( (z) ? 2 : 0 );