Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Условный оператор IF (https://javascript.ru/forum/misc/65412-uslovnyjj-operator-if.html)

TestUser013 17.10.2016 13:45

Условный оператор IF
 
Скажите пожалуйста, как правильно форматировать оператор IF согласно спецификации ES5 и ES6? И почему? :)

Варианты пишу без отступов, интересует наличие перехода на новую строку, скобок {} и точки с запятой.

//Вариант 1:
if (true) func_name(); else return;

//Вариант 2:
if (true) func_name(); 
else return;

//Вариант 3:
if (true) 
func_name(); 
else 
return;

//Вариант 4:
if (true) 
{func_name()}
else 
{return};

//Вариант 5:
if (true) {
func_name()
} else {
return
};

//Вариант 6:
if (true) 
{
func_name()
} 
else 
{
return
};

ksa 17.10.2016 14:01

Использую Вариант 5... Отступы еще добавляю для содержимого "секции"... :)

Яростный Меч 17.10.2016 14:28

Цитата:

Сообщение от ksa
Использую Вариант 5... Отступы еще добавляю для содержимого "секции"...

аналогично.

Вариант 3 тоже правильный, но раньше иногда какие-то синтаксические ошибки всплывали (в старых браузерах), вот и сформировалась привычка к фигурным скобкам везде.

----

Кстати, в 5 варианте ставлю точку с запятой в конце строк (вместо ненужной после "}"). Вообще, необязательность ";" в некоторых случаях - единственная проблема в синтаксе языка. В результате имеем какие-то мутные правила разделения операций.

laimas 17.10.2016 14:41

//Вариант 7:
if(false) return;
func_name();

Rasy 17.10.2016 15:25

Посмотрел и не нашел для себя правильного варианта и на наличие перехода смотрел в последнюю очередь)
// Вариант 8
if (!true) return;
func_name();

Aetae 17.10.2016 17:20

Как хочешь, js - свободный язык, а ты - свободный человек.)
Как написано в гайде от Google, Яndex или ещё кого.
Как принято в команде.

https://learn.javascript.ru/coding-style

warren buffet 17.10.2016 18:00

Народ, а что будет с вашими оступами (слава богу это не питон) после минификации?

Дошло?

Поэтому привыкайте не пропускать точку-запятую никогда. Придет время, захочешь мумифицировать или не дай бог обфусцировать, а там все на переносах как на веслах. )

Aetae 17.10.2016 18:04

warren buffet, дык надо не на коленке регуляркой минифицировать аки пещерный человек. Сейчас минификаторы прекрасно всё за тебя расставят и переставят.)

warren buffet 17.10.2016 18:10

А когда скрипт под мумификацию, то можно даже так писать )

return

a+b;

warren buffet 17.10.2016 18:12

Aetae, у меня не регуляркой, а проползалкой, а она туповатая и онлайновая, то есть не в IDE, а сразу на сайте, просто кеширует мумию. Поэтому туповатая для скорости. Я же пещерный человек, пишу в блокноте. Дизайнер, чо. )


Часовой пояс GMT +3, время: 02:15.