Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.10.2016, 13:45
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

Условный оператор 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
};
Ответить с цитированием
  #2 (permalink)  
Старый 17.10.2016, 14:01
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Использую Вариант 5... Отступы еще добавляю для содержимого "секции"...
Ответить с цитированием
  #3 (permalink)  
Старый 17.10.2016, 14:28
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

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

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

----

Кстати, в 5 варианте ставлю точку с запятой в конце строк (вместо ненужной после "}"). Вообще, необязательность ";" в некоторых случаях - единственная проблема в синтаксе языка. В результате имеем какие-то мутные правила разделения операций.
Ответить с цитированием
  #4 (permalink)  
Старый 17.10.2016, 14:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

//Вариант 7:
if(false) return;
func_name();
Ответить с цитированием
  #5 (permalink)  
Старый 17.10.2016, 15:25
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Посмотрел и не нашел для себя правильного варианта и на наличие перехода смотрел в последнюю очередь)
// Вариант 8
if (!true) return;
func_name();
Ответить с цитированием
  #6 (permalink)  
Старый 17.10.2016, 17:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,493

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

https://learn.javascript.ru/coding-style
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 17.10.2016, 18:00
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

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

Дошло?

Поэтому привыкайте не пропускать точку-запятую никогда. Придет время, захочешь мумифицировать или не дай бог обфусцировать, а там все на переносах как на веслах. )
Ответить с цитированием
  #8 (permalink)  
Старый 17.10.2016, 18:04
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,493

warren buffet, дык надо не на коленке регуляркой минифицировать аки пещерный человек. Сейчас минификаторы прекрасно всё за тебя расставят и переставят.)
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 17.10.2016, 18:10
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

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

return

a+b;
Ответить с цитированием
  #10 (permalink)  
Старый 17.10.2016, 18:12
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
оператор Switch в .is() Moloch jQuery 3 25.06.2015 23:44
Тернарный оператор в цикле? 1Dmitry Элементы интерфейса 1 18.06.2013 16:54
Чем отличается составной оператор от литерала объекта? rgl Общие вопросы Javascript 10 26.02.2013 22:38
Оператор && и его не понимание volkovics Общие вопросы Javascript 9 24.05.2012 00:15
условный оператор If...else simple Общие вопросы Javascript 6 01.10.2010 22:57