Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс JavaScript
/

Логический тип

JavaScript: Логический тип

Кроме арифметических операций, в математике есть операции сравнения, например 5 > 4 или 3 < 1. Они есть и в программировании. Сравнения часто применяются в реальных задачах. Например, когда мы оформляем покупку в интернет-магазине, система проверяет, хватает ли у пользователя денег на счёте: если сумма на счёте больше или равна цене товара, заказ подтверждается, иначе появляется сообщение о нехватке средств.

Сравнение в программировании

Начнём с примера, в котором сравниваются два числа:

console.log(5 > 4); // => true
console.log(4 > 4); // => false

Результатом сравнения является значение типа boolean (булев тип). У него всего два возможных значения: true (истина) и false (ложь). Это специальные значения языка, их можно использовать напрямую:

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

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

В JavaScript доступны следующие операции сравнения:

ОператорСмысл
<меньше
<=меньше или равно
>больше
>=больше или равно
===строго равно
!==строго не равно

Языки программирования переняли математические операции сравнения почти без изменений, кроме равенства и неравенства. В математике используется обычное =, но в программировании символ = уже занят — он присваивает переменным значения. Поэтому для сравнения на равенство в JavaScript используют ===, а на неравенство — !== (тройной и с восклицательным знаком — это «строгое» сравнение, к которому мы ещё вернёмся).

console.log(5 >= 3);  // => true
console.log(7 < 0);   // => false
console.log(5 > 5);   // => false
console.log(5 >= 5);  // => true
console.log(2 === 5); // => false
console.log(2 !== 5); // => true

Когда в сравнении используют конкретные значения, операция кажется бессмысленной: результат и так известен и всегда одинаков. Но всё меняется, когда значения могут быть разными. Напишем простую функцию, которая принимает возраст ребёнка и определяет, младенец ли он. Младенцами считаются дети до двух лет (два не включается):

const isInfant = (age) => age < 2;

console.log(isInfant(3)); // => false
console.log(isInfant(2)); // => false
console.log(isInfant(1)); // => true
console.log(isInfant(0)); // => true

Предикаты

Когда функции возвращают результат сравнения, они обычно отвечают на вопрос «да» или «нет». Такие функции называют предикатами. Их легко узнать: они возвращают логическое значение true или false, а в их названии часто есть проверяемое утверждение (is, has, can). Вот функция, проверяющая, является ли число отрицательным:

const isNegative = (number) => number < 0;

console.log(isNegative(-5)); // => true
console.log(isNegative(7));  // => false

Имена предикатов строят так, чтобы вопрос читался прямо из названия: hasChildren() — «есть ли дети?», isEmpty() — «пустая ли строка?», hasErrors() — «есть ли ошибки?». При этом предикатом считается только функция, которая возвращает именно логическое значение — без исключений.

Задание

Напишите функцию isPensioner(age), которая возвращает true, если возраст age равен 60 или больше, и false в противном случае.

isPensioner(65); // => true
isPensioner(30); // => false
Коммерческий опыт и Трудоустройство

Полезное

  • Boolean в JavaScript

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
/
Программирование
/
Курс JavaScript
/

Логический тип

JavaScript: Логический тип

Кроме арифметических операций, в математике есть операции сравнения, например 5 > 4 или 3 < 1. Они есть и в программировании. Сравнения часто применяются в реальных задачах. Например, когда мы оформляем покупку в интернет-магазине, система проверяет, хватает ли у пользователя денег на счёте: если сумма на счёте больше или равна цене товара, заказ подтверждается, иначе появляется сообщение о нехватке средств.

Сравнение в программировании

Начнём с примера, в котором сравниваются два числа:

console.log(5 > 4); // => true
console.log(4 > 4); // => false

Результатом сравнения является значение типа boolean (булев тип). У него всего два возможных значения: true (истина) и false (ложь). Это специальные значения языка, их можно использовать напрямую:

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

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

В JavaScript доступны следующие операции сравнения:

ОператорСмысл
<меньше
<=меньше или равно
>больше
>=больше или равно
===строго равно
!==строго не равно

Языки программирования переняли математические операции сравнения почти без изменений, кроме равенства и неравенства. В математике используется обычное =, но в программировании символ = уже занят — он присваивает переменным значения. Поэтому для сравнения на равенство в JavaScript используют ===, а на неравенство — !== (тройной и с восклицательным знаком — это «строгое» сравнение, к которому мы ещё вернёмся).

console.log(5 >= 3);  // => true
console.log(7 < 0);   // => false
console.log(5 > 5);   // => false
console.log(5 >= 5);  // => true
console.log(2 === 5); // => false
console.log(2 !== 5); // => true

Когда в сравнении используют конкретные значения, операция кажется бессмысленной: результат и так известен и всегда одинаков. Но всё меняется, когда значения могут быть разными. Напишем простую функцию, которая принимает возраст ребёнка и определяет, младенец ли он. Младенцами считаются дети до двух лет (два не включается):

const isInfant = (age) => age < 2;

console.log(isInfant(3)); // => false
console.log(isInfant(2)); // => false
console.log(isInfant(1)); // => true
console.log(isInfant(0)); // => true

Предикаты

Когда функции возвращают результат сравнения, они обычно отвечают на вопрос «да» или «нет». Такие функции называют предикатами. Их легко узнать: они возвращают логическое значение true или false, а в их названии часто есть проверяемое утверждение (is, has, can). Вот функция, проверяющая, является ли число отрицательным:

const isNegative = (number) => number < 0;

console.log(isNegative(-5)); // => true
console.log(isNegative(7));  // => false

Имена предикатов строят так, чтобы вопрос читался прямо из названия: hasChildren() — «есть ли дети?», isEmpty() — «пустая ли строка?», hasErrors() — «есть ли ошибки?». При этом предикатом считается только функция, которая возвращает именно логическое значение — без исключений.

Задание

Напишите функцию isPensioner(age), которая возвращает true, если возраст age равен 60 или больше, и false в противном случае.

isPensioner(65); // => true
isPensioner(30); // => false
Коммерческий опыт и Трудоустройство

Полезное

  • Boolean в JavaScript

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

import { expect, test } from 'vitest';
import f from './index.js';

test('bool type', () => {
  expect(f(23)).toBe(false);
  expect(f(70)).toBe(true);
  expect(f(60)).toBe(true);
  expect(f(59)).toBe(false);
});
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →