«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Гибкое использование логических операторов «И» (&&) и «ИЛИ» (||) в JavaScript.

Гибкое использование логических операторов «И» (&&) и «ИЛИ» (||) в JavaScript.

Опубликовано 4 ноября 2024 г.
Просматривать:573

Flexible Uses of the Logical AND (&&) and OR (||) in JavaScript

Введение

Логические значения могут быть абсолютными, истинными или ложными. Это настолько ясно, насколько это возможно. Другие типы данных в JavaScript также имеют встроенные значения true и false, но это не так очевидно, поскольку они выглядят как 32, null, 0 и «Hello», а не true и false. Знание того, что все значения имеют эти внутренние значения, означает, что мы можем выполнять операции со всеми типами данных, которые обычно используются для логических значений. Это дает нам больше творчества и гибкости при кодировании.

Понимание истинных и ложных ценностей

При работе с ключевыми словами потока управления, такими как if, и логическими операторами, такими как AND (&&) и OR (||), мы используем логические значения для достижения определенных результатов. Эти логические значения можно явно использовать с true или false, но мы часто генерируем их с помощью операторов сравнения, таких как ===, .

Что произойдет, если мы не будем использовать логическое значение с потоком управления или логическими операторами? Что ж, вам повезло! Все ценности по своей сути истинны или ложны, что помогает в этом. Мы можем разделить все значения на две категории: правда или ложь.

При попытке выяснить, является ли значение правдивым или ложным, лучше всего запомнить значения falsy, поскольку их количество ограничено:

  • false (логическое значение)
  • нулевой
  • неопределенный
  • NaN (не число)
  • 0 (числовое значение)
  • "" (пустое строковое значение)

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

if (23) { console.log(“truthy”); } // Prints “truthy”
else { console.log(“falsy”); }

if (null) { console.log(“truthy”); } 
else { console.log(“falsy”); } // Prints “falsy”

Логическое И (&&)

При использовании логических операторов с логическим И (&&) оба значения должны быть истинными, чтобы логический оператор возвращал истину. В противном случае, если хотя бы одно значение ложно, оно вернет false.

console.log(false && false); // false
console.log(true && false); // false
console.log(true && true); // true

Понимание механизма логического оператора И (&&) может помочь вам, когда дело касается истинных и ложных значений. Если значение слева ложно, верните его; в противном случае верните значение справа.

console.log(0 && 1); // 0
console.log("a" && ""); // "" (an empty string)
console.log([] && [1, 2, 3]); // [1, 2, 3]

Логический оператор И (&&) хочет вернуть ложное значение и возвращает истинное значение только в том случае, если оба верны. Вы можете думать о двух аргументах следующим образом:

(левая сторона) Используйте меня только в том случае, если я являюсь ложным значением. && (Правая сторона) В противном случае используйте меня.

Логическое ИЛИ (||)

При использовании логических значений с логическим ИЛИ (||) оба значения должны быть ложными, чтобы логический оператор возвращал ложь. В противном случае, если хотя бы одно значение истинно, оно вернет true.

console.log(false || false); // false
console.log(true || false); // true
console.log(true || true); // true

Вот как работает логический оператор ИЛИ (||): если значение слева истинно, верните его; в противном случае верните значение справа.

console.log(1 || 0); // 1
console.log("" || "a"); // "a"
console.log(undefined || null); // null
console.log([] || [1, 2, 3]); // []

Логический оператор ИЛИ (||) хочет вернуть истинное значение и возвращает ложное значение только в том случае, если оба являются ложными. Вы можете думать о двух аргументах следующим образом:

(левая сторона) Используйте меня только в том случае, если я представляю собой истинную ценность. || (Правая сторона) Иначе используй меня.

Творческое использование AND (&&) и OR (||)

Использование значения по умолчанию при ожидании ввода

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

function Person(name) {
    // If name is undefined, this.name will 
    // default to 'a person with no name'
    this.name = name || 'a person with no name';
    this.greet = function() {
        console.log('Hello, I am '   this.name   '.');
    };
}

// Create Person variables
var tyler = new Person('Tyler');
var mystery = new Person(); 
// Without an input, this.name defaults to the 
// second option since name is undefined.

// Call greet() from each Person object
tyler.greet(); // "Hello, I am Tyler."
mystery.greet(); // "Hello, I am a person with no name."

В приведенном выше примере мы ожидали ввода параметра имени, поэтому второе значение в операции ИЛИ (||) используется только в том случае, если имя не определено (нет аргумента при вызове функции).

Требование нескольких входов

Если вы создаете объекты и хотите убедиться, что у вас есть заданное количество входных данных, прежде чем создавать объект, вы можете объединить логические операторы И (&&) для каждого требуемого параметра.

function Person(firstName, lastName, age) {
  if (firstName && lastName && age) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.fullName = `${this.firstName} ${this.lastName}`;
    this.age = age;
    this.greet = function() {
      console.log(`Hello, my name is ${this.fullName} and I'm ${this.age} years old.`);
    };
  } 

  // If any argument is missing, the object will only have this property.
  else {
    this.greet = function() {
      console.log(`Hello, I am not a fully formed Person.`)
    };
  }
}

var tyler = new Person('Tyler', 'Meyer', 32);
var brad = new Person('Brad', '', 38);

tyler.greet(); // "Hello, my name is Tyler Meyer and I'm 32 years old."
brad.greet(); // "Hello, I am not a fully formed Person."

Инструкция if проверяет наличие аргумента для каждого параметра перед созданием полного объекта Person. Если хотя бы один аргумент является ложным значением, вместо этого будет создан объект с оператором else. Таким образом, мы можем предотвратить неполные объекты или создать объекты по умолчанию для неполных записей.

Заключение

Если вам нужно значение по умолчанию, пока значение не будет предоставлено, логический оператор ИЛИ (||) может оказаться очень полезным. Если вам нужно запросить несколько значений, прежде чем продолжить, логический оператор AND (&&) может оказаться очень полезным. Это всего лишь два примера, и, продолжая изучать эти операторы, вы обнаружите множество других способов использования этих операторов помимо обычной проверки истинных или ложных логических значений. Помните об этих двух вещах при использовании логических операторов И (&&) и ИЛИ (||):

  • ИЛИ (||) : используйте значение слева, только если оно правдиво.
  • AND (&&) : используйте значение слева, только если оно ложно.

Если у вас есть вопросы, задавайте их в комментариях. Буду рад обсудить эту тему дальше.

Удачного программирования!

Заявление о выпуске Эта статья воспроизводится по адресу: https://dev.to/tymey/flege-uses-of-togical-and-and-or-in-javascript-1c6o?1.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3