Comments 17
var team = teamName? teamName: 'unaffiliated';
var team = teamName || 'unaffiliated';
А если teamName может в функцию придти как false? Правда, с false вариант, который вы переписали тоже не сработает корректно. Универсальное `if(typeof teamName === «undefined») ` всегда лучше пусть и длиннее.
Я предложил код эквивалентный процитированному. Разумеется, если teamName может быть числом или булевым значением — такое решение в общем случае неприемлемо.
Просто меня возмутило, что автор в статье про JS не применил приём, который встречается чуть менее, чем везде.
Универсальное if(typeof teamName === «undefined»)
всегда лучше пусть и длиннее.
Ситуация бывает разная. Если я пишу библиотеку, то я должен предусмотреть любое говно, которое могут передать в аргументе. Но если я пишу функцию для внутреннего использования, не предоставляемую во вне, и передача не того типа данных исключена — то почему бы и нет.
Расстраивает повтор одного и того же материала про ЕС6, уже 3я статья за пару месяцев об одном и том же.
необходимость неявного возврата. Стрелочные функции, по умолчанию, автоматически создают ключевое слово return, если код занимает одну строку и не обернут в фигурные скобки {}.В оригинале статьи была допущена неточность, которая перекочевала в перевод. Вот пример, состоящий из двух строк, обёрнутых в фигурные скобки, а затем — в круглые скобки, но, тем не менее, создаётся неявный возврат:
const foo = () => ({ bar: "foobar",
baz: "quux" });
Не согласился бы, что это неточность. В данном примере показано, что при работе со стрелочными функциями для неявного возврата объекта необходимо оборачивать литерал объекта в круглые скобки.
Sign up to leave a comment.
Введение в часто используемые особенности ES6. Часть 1