JavaScript

Правильно ли использовать switch без break (подр. внутр)

Всем привет!)

Возникала идея написать вот таким образом (как на картинке)
Допустимо ли такое использование без break?

Всем заранее спасибо за ответы!
С return'ом можно, всё равно код после него не выполнится
Вот только неудобно бывает работать с кучей return'ов
JS
Jobirov Shamshod
62 042
Лучший ответ
Ну раз работает, значит допустимо. Если, конечно, Дейкстру не жалко в гробу ворочать.
Олег
Олег
25 516
Ризолла Ахметов Спасибо!

"Дейкстру не жалко в гробу ворочать." Что значит, по-русски плиз
))
Вроде принято всегда в таких случаях в переключатель вставлять break, я бы поставил.
Ризолла Ахметов Спасибо!
В данном случае после return уже ничего выполняться не будет
И сама Идеешка подсвечивает как полупрозрачным, мол выполняться не будет
Ризолла Ахметов Это когда навожу курсор на break
switch без break это очень плохой тон... если в switch сработает первый case то есть первый случай, то если есть break switch дальше не будет проверять, а остановиться, но без break даже если первое состояние сработает switch все равно будет проверять вся case что снижает производительность и скорость кода... напоминаю оператор switch быстрее чем if, но в вашем случае он будет медленный из за плохого кода.... Вообще рекомендуют всегда ставить break и default... break можно упустить только когда есть так званое проваливание в switch, то есть

switch (a) {
case 3:
case 4:
case 5:
alert( '3 или 4 или 5' );
break;
default:
alert( 'не 3 и не 4 и не 5' );
}

Хотя switch в JavaScript будет работать и без break, то есть не будет ошибки, что делает выражение break не обязательным, это только и за гибкости JavaScript но на практике это плохо... все линтеры (jslint, eslint, jshint ) отметят это как ошибку...
Я вот не вижу здесь смысла использовать switch, и вообще редко вижу его смысл. По мне лаконичнее создать ассоциативный массив где ключами будут варианты direction а значением то что надо вернуть. а потом бы просто выдергивал по ключу необходимое значение
Сергей Цылюрник http://jsben.ch/Z9Nlp
свитч быстрее, вродь.
Константин З@в@рухин Ну на втором бенчмарке победа за ассоциативным массивом)
Ризолла Ахметов Как вариант! Спасибо)
Чигрик . главное удобство разработчику с массивами
чем каждый раз switcth переписывать
Что совой об пень, что пнем об сову. return, break... В данном контексте это совершенно не влияет на читабельность и скорость выполнения.
Есть поклонники одного return на функцию. Особенно для отладки, на языках типа C это удобно. В JS это не более чем предпочтения программиста. Нет веских аргументов за/против.
Константин З@в@рухин Полностью согласен что тут скорее дело вкуса. Впринципе, любой вариант который работает - правильный, а вот читабельность кода, его оформление каждый выбирает сам)