Я использую довольно много тернарных операторов вместо операторов case case.Проверка WebStorm по выражению запятой в тернарном операторе JavaScript
Эти работы отлично подходят для моих лучших знаний, но теперь я получаю много предупреждений об инспекции от WebStorm, которые говорят мне, что выражения в запятой могут быть слишком умными и могут привести к тонким ошибкам. Существуют также предупреждения о том, что присвоенное значение никогда не используется.
Правильно ли это использование тернарного оператора или я должен использовать что-то другое, чтобы быть на безопасной стороне?
u_avg < siteColorArray[0] ?
(fillColor = '#FF6600', strokeColor = '#FF8C00') :
u_avg < siteColorArray[1] ?
(fillColor = '#FF8C00', strokeColor = '#FFB300') :
u_avg < siteColorArray[2] ?
(fillColor = '#FFB300', strokeColor = '#FFD900') :
u_avg < siteColorArray[3] ?
(fillColor = '#FFD900', strokeColor = '#FFFF00') :
u_avg < siteColorArray[4] ?
(fillColor = '#FFFF00', strokeColor = '#CDE30F') :
u_avg < siteColorArray[5] ?
(fillColor = '#CDE30F', strokeColor = '#9CC71E') :
u_avg < siteColorArray[6] ?
(fillColor = '#9CC71E', strokeColor = '#6AAA2D') :
u_avg < siteColorArray[7] ?
(fillColor = '#6AAA2D', strokeColor = '#388E3C') :
u_avg >= siteColorArray[7] ?
(fillColor = '#388E3C', strokeColor = '#2E7D32') :
null;
WebStorm не нравится это много ...
Edit: Просто чтобы убрать вещи. Это хорошо работает на Chrome 54+, но я обеспокоен тем, могут ли другие и более старые платформы не понравиться.
Но тест переменная никогда не будет использоваться. Разве это не просто добавит ненужное распределение переменных? –
Просто просмотрите, что вы сделали более подробно. Не часто задавать переменные внутри тернарной точки, обычно она возвращает одно значение «fillColor», а затем у вас будет другой отдельный оператор для 'strokeColor'. Действительно ли он работает так, как у вас есть? –
Да. он отлично работает в Chrome на моей машине dev. Я объявляю два цвета перед тройной цепочкой, а затем присваиваю эти цвета объекту после тройного. Меня просто беспокоит предупреждение об инспекции. –