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

Booleans JavaScript объяснил – как использовать логические основы в JavaScript

BooleanBoolews – это примитивный тип данных, обычно используемый в языках компьютерных программиров. По определению, логическое значение имеет два возможных значения: True или False. В JavaScript часто неявное принуждение типа для логика. Если например, у вас есть заявление, которое проверяет определенное выражение, это выражение будет принуждено

Автор оригинала: FreeCodeCamp Community Member.

Логический

Логины являются примитивным типом данных, обычно используемыми на языках компьютерных программиров. По определению, логический имеет два возможных значения: правда или ложь Отказ

В JavaScript часто неявное принуждение типа для логика. Если например, у вас есть если утверждение, которое проверяет определенное выражение, это выражение будет принуждено к логическому вопросу:

const a = 'a string';
if (a) {
  console.log(a); // logs 'a string'
}

Есть только несколько значений, которые будут принуждены к ложливому:

  • false (не очень принужден, как это уже ложно)
  • ноль
  • неопределенный
  • Нан
  • 0
  • “” (пустая строка)

Все остальные значения будут принуждены к true. Когда значение принуждено к логическому новому, мы также называем это «ложное», либо «правдоподобное».

Один из способов того, что используется принуждение к принуждению, является использованием операторов или ( ) и ( &&

const a = 'word';
const b = false;
const c = true;
const d = 0
const e = 1
const f = 2
const g = null

console.log(a || b); // 'word'
console.log(c || a); // true
console.log(b || a); // 'word'
console.log(e || f); // 1
console.log(f || e); // 2
console.log(d || g); // null
console.log(g || d); // 0
console.log(a && c); // true
console.log(c && a); // 'word'

Как вы можете видеть, или Оператор проверяет первый операнд. Если это правда или правда, он немедленно возвращает его (именно поэтому мы получаем «слово» в первом случае и правда во втором случае). Если это не правда или правда, он возвращает второй операнд (вот почему мы получаем «слово» в третьем случае).

С помощью и оператором он работает аналогично, но для «и« быть правдой, обе операнды должны быть правдивыми ». Так что он всегда будет возвращать второй операнд, если оба являются True/Landy, в противном случае он вернет ложь. Вот почему в четвертом случае мы получаем истину и в последнем случае мы получаем «слово».

Логический объект

Существует также родной объект JavaScript, который обернутся вокруг значения. Значение, передаваемое в качестве первого параметра, преобразуется в логическое значение, если необходимо. Если значение опущено, 0, -0, null, false, nan, undefined или пустая строка (“”), объект имеет начальное значение false. Все остальные значения, включая любой объект или строку «ложь», создают объект с начальным значением TRUE.

Не путайте примитивные логические значения True и False с истинными и ложными значениями логического объекта.

Подробнее

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

const x = new Boolean(false);
if (x) {
  // this code is executed
}

Это поведение не распространяется на логические примитивы. Например, условие следующего, если оператор оценивает false:

const x = false;
if (x) {
  // this code is not executed
}

Не используйте логический объект для преобразования не-логического значения в логическое значение. Вместо этого используйте Boolean в качестве функции для выполнения этой задачи:

const x = Boolean(expression);     // preferred
const x = new Boolean(expression); // don't use

Если вы укажете любой объект, включая логический объект, значение которого является ложным, в качестве начального значения логического объекта, новый логический объект имеет значение true.

const myFalse = new Boolean(false);   // initial value of false
const g = new Boolean(myFalse);       // initial value of true
const myString = new String('Hello'); // string object
const s = new Boolean(myString);      // initial value of true

Не используйте логический объект вместо булева примитивного.