Рубрики
Без рубрики

Оценка короткой цепи JavaScript

Узнайте и понимаете, как вы можете сделать ваши условные заявления JS короче с оценкой короткой цепи JS.

Автор оригинала: John Kennedy.

Работав с JavaScript для довольно некоторого времени сейчас, я видел различные способы сделать что-то, чтобы в конечном итоге достичь того же результата. Я буду обсуждать оценку короткого замыкания в этом посте.

Эта функция доступна на разных языках, но реализация может быть разной. Для краткости я буду иметь дело конкретно с JavaScript.

В оценке короткого замыкания второй аргумент оценивается только в том случае, если первый аргумент (нет) удовлетворяет данному условию.

Логично и (&&)

Логично и (&&) : Когда определенное условие оценивает ложь, соответствующие условия (ы) не оцениваются, когда && Оператор используется.

Учитывая следующий фрагмент кода:

let username;

if (Meteor.user()) {
  username = Meteor.user().username;
}

Мы могли бы использовать && Оператор для уменьшения количества строк, которые мы пишем следующим образом:

const username = Meteor.user() && Meteor.user().username;

// ES6 destructuring
const { username } = Meteor.user() && Meteor.user();

Это читается как: если Meteor.user () определяется, назначить значение Имя пользователя Недвижимость от Meteor.user () к Имя пользователя Переменная. Глядя на этот код, мы значительно сократили количество строк, которые мы печатаем, чтобы получить то же самое.

Логично или (||)

Логично или ( ) : Когда определенное условие оценивается к true, соответствующие условия (ы)/не оцениваются, поскольку они будут правдой, когда

Учитывая следующий фрагмент:

const name = null;
let language;

if (name) {
  language = name;
} else {
  language = "JavaScript";
}

В фрагменте выше, я проверяю это Имя имеет значение. Если это так, я назначаю значение Язык , в противном случае я даю значение по умолчанию JavaScript Отказ

Использование

const lanaguage = name || "JavaScript";

Несколько разницы в коде выше, за исключением того, что он короче. Это делает тот же чек на Имя , предоставление значения по умолчанию, если Имя не определен.

Операторская цепочка

Операторы ( && и ) могут быть связаны вместе, чтобы создать своего рода Если ... еще условие.

const username = Meteor.user() && Meteor.user().username || "code";

Это переводит на проверку наличия Meteor.user () Отказ Если true назначает Meteor.user (). Имя пользователя к Имя пользователя Переменная, иначе присваивается «Код» к Имя пользователя Отказ

Примечание. Использование цепочки оператора короткого замыкания не рекомендуется, так как это может сделать ваш код менее читаемым. Использование цепочки оператора запрещено в некоторых гидах стиля JavaScript.

Это приводит нас к концу этого поста. Я надеюсь, вы узнали что-то новое. Есть комментарий/вопрос? Пожалуйста, бросьте комментарий/предложение или вопрос в теме комментариев.