Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2013, 17:54
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

Тернарные операции - да или нет
В рекомендации по оформлению js http://docs.jquery.com/JQuery_Core_S...delines#Blocks

>Don't use ternary operators instead of if/else statements.

А сегодня вот наткнулся https://github.com/jquery/sizzle/wik...-Documentation

return not ? elements.slice( 1 ) : [ elements[0] ];


причём у sizzle и JQuery один автор который видимо так и не определился

собсна вопрос - используете ли вы тернарные операции? как по мне они компактней if/else и стоит их использовать по возможности
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2013, 17:57
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Только в тех случаях, когда логика условия не сложная, что бы было читаемо.
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2013, 17:59
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

интересно было бы узнать почему в том гайде не рекомендуют их юзать
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2013, 18:37
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

http://javascript.ru/basic/operators#sravnenie
http://javascript.ru/optimize/google...-prostyh-if-ov
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2013, 18:39
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от animhotep
интересно было бы узнать почему в том гайде не рекомендуют их юзать
Возможно по тому, что у всех разное видинение, на то как должен выглядеть код.

Вообще это тупо запрещать использовать тернарный оператор, даже если у него отличается поведение в других языках.
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2013, 19:34
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от animhotep
и стоит их использовать по возможности
проблема в том, что новички перебарщивают с ними, делают их вложенными и прочие извращения. За вложенность такой штуки я бы руки отрубал

Я использую редко и исключительно для присваивания (возвращения значения), а не
1 > 0 ? alert( true ) : false;
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2013, 01:13
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от animhotep
В рекомендации по оформлению js http://docs.jquery.com/JQuery_Core_S...delines#Blocks
Сообщение от animhotep
причём у sizzle и JQuery один автор который видимо так и не определился
Сообщение от animhotep
А сегодня вот наткнулся https://github.com/jquery/sizzle/wik...-Documentation
Каким боком рекомендации по оформлению кода в jQuery относятся к Sizzle?
И с каких это пор у них один автор? Их разрабатывает два частично пересекающихся сообщества.
Сообщение от animhotep
>Don't use ternary operators instead of if/else statements.
Сообщение от animhotep
return not ? elements.slice( 1 ) : [ elements[0] ];
Не вижу ни малейшего противоречия между этими двумя строчками.
В гайдлане предполагается не использовать тернарный оператор заместо if/else.
В коде же тернарный оператор вполне корректно используется.
Если его заменить на if/else, то это будет немного излишнее использование if/else заместо тернарного оператора
Ответить с цитированием
  #8 (permalink)  
Старый 18.01.2013, 16:45
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

Сообщение от Дзен-трансгуманист Посмотреть сообщение
Рекомендации гайда относятся к ядру JQuery, а не к JS вообще.
Очевидные вещи нужно понимать самостоятельно.
а JQuery это не JS что ли?) это какбы best practice по оформлению кода
Ответить с цитированием
  #9 (permalink)  
Старый 18.01.2013, 16:47
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

Сообщение от Gvozd
Каким боком рекомендации по оформлению кода в jQuery относятся к Sizzle?
И с каких это пор у них один автор? Их разрабатывает два частично пересекающихся сообщества.
http://en.wikipedia.org/wiki/John_Resig
>best known as the creator and lead developer of the jQuery JavaScript library.
его оффсайт http://ejohn.org/
Ответить с цитированием
  #10 (permalink)  
Старый 19.01.2013, 03:25
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Часто новички думают что тернатрый оператор придумали как сокращенную запись условным операторам вроде if и switch
подобно тому как придумали сокращенный способ инициализации массивов [] за место new Array;

На самом же деле тернарный оператор нужен для того чтобы встраивать небольшие условные ветки прямо в выражения; Если вам нужно сделать условия прямо в выражении то вы используете тернарный оператор, если же вам нужно сделать условие вне выражения, то вы используете if и else;


В руководстве же ясно сказано что не стоит использовать операторы не по назначению, и не стоит использовать тернарный оператор вне выражений;
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где лучше выполнять арифметические операции? На клиенте или на сервере? Маэстро Общие вопросы Javascript 35 25.04.2012 18:13
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 19:39
Кем быть лучше?мужчиной или женщиной? gtarshik Оффтопик 1 02.01.2009 11:21
разное время выполнения операции ropowek Events/DOM/Window 2 08.10.2008 13:27
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 16:09