Что значит булевые значения

JavaScript Булевы значения

JavaScript булево (логическое) значение представляет одно из двух значений: true или false (истина или ложь).

Булевы (логические) значения

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

  • YES / NO (ДА / НЕТ)
  • ON / OFF (ВКЛ. / ОТКЛ.)
  • TRUE / FALSE (ИСТИНА / ЛОЖЬ)

Для этого в JavaScript есть тип данных булевые значения, которые могут принимать только значения true или false.

Функция Boolean()

Вы можете использовать функцию Boolean() чтобы узнать, истинно ли выражение (или переменная):

Пример

Пример

Сравнения и условия

В главе JS Сравнения даётся полный обзор операторов сравнения.

В главе JS Условия дается полный обзор условных операторов.

Вот несколько примеров:

Всё, что не имеет «Значения» является False (ложь)

Булево значение 0 (ноль) является false:

Булево значение -0 (минус ноль) является false:

Булево значение «» (пустая строка) является false:

Булево значение undefined является false:

Булево значение null является false:

Булево значение false это (как вы уже догадались) false:

Булево значение NaN является false:

Логические значения могут быть объектами

Обычно логические значения JavaScript представляют собой примитивные значения, созданные из литералов:

Но логические значения также могут быть определены как объекты с ключевым словом new :

let y = new Boolean(false);

Пример

let x = false;
let y = new Boolean(false);

// typeof x returns boolean
// typeof y returns object

Не создавайте логические объекты. Это снижает скорость выполнения.
Ключевое слово new усложняет код. Это может привести к неожиданным результатам:

При использовании оператора == равные логические значения равны:

Пример

let x = false;
let y = new Boolean(false);

// (x == y) является true, потому что x и y имеют равные значения

При использовании оператора === равные логические значения не равны, поскольку оператор === ожидает равенства как по типу, так и по значению.

Пример

let x = false;
let y = new Boolean(false);

// (x === y) является false, потому что x и y имеют разные типы

Или даже хуже. Объекты нельзя сравнивать:

Пример

let x = new Boolean(false);
let y = new Boolean(false);

// (x == y) является false, потому что объекты нельзя сравнивать

Обратите внимание на разницу между (x==y) и (x===y).
Сравнение двух объектов JavaScript всегда будет возвращать false.

Полный справочник логических (булевых) значений

Справочник содержит описания и примеры всех логических свойств и методов.

ПАЛИТРА ЦВЕТОВ

ПРИСОЕДИНЯЙТЕСЬ!

Связь с админом

Если вы хотите сообщить об ошибке, а также внести предложение о работе сайта, добавить объявление или рекламу на сайт, не стесняйтесь отправить админу электронное письмо на email:

Топ Учебники

Топ Справочники

Топ Примеры

Веб Сертификаты

Этот сайт оптимизирован для обучения и тестирования. Примеры могут быть упрощены для улучшения чтения и базового понимания. Учебные пособия, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность и работоспособность всего контента. Используя этот сайт, вы соглашаетесь с тем, что прочитали и приняли условия использования, cookie и политику конфиденциальности.
Также вы можете абсолютно бесплатно скачать офлайн версию сайта W3Schools на русском архивом с GitHub и пользоваться локально на своём компьютере.
Также доступна версия сайта W3Schools на украинском языке.
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.
Сайт работает на фреймворке W3.CSS.

Источник

Типы данных

Значение в JavaScript всегда относится к данным определённого типа. Например, это может быть строка или число.

Есть восемь основных типов данных в JavaScript. В этой главе мы рассмотрим их в общем, а в следующих главах поговорим подробнее о каждом.

Переменная в JavaScript может содержать любые данные. В один момент там может быть строка, а в другой – число:

Языки программирования, в которых такое возможно, называются «динамически типизированными». Это значит, что типы данных есть, но переменные не привязаны ни к одному из них.

Число

Числовой тип данных ( number ) представляет как целочисленные значения, так и числа с плавающей точкой.

Существует множество операций для чисел, например, умножение * , деление / , сложение + , вычитание — и так далее.

Кроме обычных чисел, существуют так называемые «специальные числовые значения», которые относятся к этому типу данных: Infinity , -Infinity и NaN .

Infinity представляет собой математическую бесконечность ∞. Это особое значение, которое больше любого числа.

Мы можем получить его в результате деления на ноль:

Или задать его явно:

NaN означает вычислительную ошибку. Это результат неправильной или неопределённой математической операции, например:

Значение NaN «прилипчиво». Любая операция с NaN возвращает NaN :

Если где-то в математическом выражении есть NaN , то результатом вычислений с его участием будет NaN .

Математические операции в JavaScript «безопасны». Мы можем делать что угодно: делить на ноль, обращаться с нечисловыми строками как с числами и т.д.

Скрипт никогда не остановится с фатальной ошибкой (не «умрёт»). В худшем случае мы получим NaN как результат выполнения.

Специальные числовые значения относятся к типу «число». Конечно, это не числа в привычном значении этого слова.

Подробнее о работе с числами мы поговорим в главе Числа.

BigInt

В JavaScript тип «number» не может содержать числа больше, чем (2 53 -1) (т. е. 9007199254740991 ), или меньше, чем -(2 53 -1) для отрицательных чисел. Это техническое ограничение вызвано их внутренним представлением.

Для большинства случаев этого достаточно. Но иногда нам нужны действительно гигантские числа, например, в криптографии или при использовании метки времени («timestamp») с микросекундами.

Тип BigInt был добавлен в JavaScript, чтобы дать возможность работать с целыми числами произвольной длины.

Чтобы создать значение типа BigInt , необходимо добавить n в конец числового литерала:

Так как BigInt -числа нужны достаточно редко, мы рассмотрим их в отдельной главе BigInt. Ознакомьтесь с ней, когда вам понадобятся настолько большие числа.

В данный момент BigInt поддерживается только в браузерах Firefox, Chrome, Edge и Safari, но не поддерживается в IE.

Строка

Строка ( string ) в JavaScript должна быть заключена в кавычки.

В JavaScript существует три типа кавычек.

  1. Двойные кавычки: «Привет» .
  2. Одинарные кавычки: ‘Привет’ .
  3. Обратные кавычки: `Привет` .

Двойные или одинарные кавычки являются «простыми», между ними нет разницы в JavaScript.

Обратные же кавычки имеют расширенную функциональность. Они позволяют нам встраивать выражения в строку, заключая их в $ <…>. Например:

Выражение внутри $ <…>вычисляется, и его результат становится частью строки. Мы можем положить туда всё, что угодно: переменную name , или выражение 1 + 2 , или что-то более сложное.

Обратите внимание, что это можно делать только в обратных кавычках. Другие кавычки не имеют такой функциональности встраивания!

Мы рассмотрим строки более подробно в главе Строки.

В некоторых языках, например C и Java, для хранения одного символа, например «a» или «%» , существует отдельный тип. В языках C и Java это char .

В JavaScript подобного типа нет, есть только тип string . Строка может содержать ноль символов (быть пустой), один символ или множество.

Булевый (логический) тип

Булевый тип ( boolean ) может принимать только два значения: true (истина) и false (ложь).

Такой тип, как правило, используется для хранения значений да/нет: true значит «да, правильно», а false значит «нет, не правильно».

Булевые значения также могут быть результатом сравнений:

Мы рассмотрим булевые значения более подробно в главе Логические операторы.

Значение «null»

Специальное значение null не относится ни к одному из типов, описанных выше.

Оно формирует отдельный тип, который содержит только значение null :

В JavaScript null не является «ссылкой на несуществующий объект» или «нулевым указателем», как в некоторых других языках.

Это просто специальное значение, которое представляет собой «ничего», «пусто» или «значение неизвестно».

В приведённом выше коде указано, что значение переменной age неизвестно.

Значение «undefined»

Специальное значение undefined также стоит особняком. Оно формирует тип из самого себя так же, как и null .

Оно означает, что «значение не было присвоено».

Если переменная объявлена, но ей не присвоено никакого значения, то её значением будет undefined :

Технически мы можем присвоить значение undefined любой переменной:

…Но так делать не рекомендуется. Обычно null используется для присвоения переменной «пустого» или «неизвестного» значения, а undefined – для проверок, была ли переменная назначена.

Объекты и символы

Тип object (объект) – особенный.

Все остальные типы называются «примитивными», потому что их значениями могут быть только простые значения (будь то строка, или число, или что-то ещё). В объектах же хранят коллекции данных или более сложные структуры.

Объекты занимают важное место в языке и требуют особого внимания. Мы разберёмся с ними в главе Объекты после того, как узнаем больше о примитивах.

Тип symbol (символ) используется для создания уникальных идентификаторов в объектах. Мы упоминаем здесь о нём для полноты картины, изучим этот тип после объектов.

Оператор typeof

Оператор typeof возвращает тип аргумента. Это полезно, когда мы хотим обрабатывать значения различных типов по-разному или просто хотим сделать проверку.

У него есть две синтаксические формы:

  1. Синтаксис оператора: typeof x .
  2. Синтаксис функции: typeof(x) .

Другими словами, он работает со скобками или без скобок. Результат одинаковый.

Вызов typeof x возвращает строку с именем типа:

Последние три строки нуждаются в пояснении:

  1. Math — это встроенный объект, который предоставляет математические операции и константы. Мы рассмотрим его подробнее в главе Числа. Здесь он служит лишь примером объекта.
  2. Результатом вызова typeof null является «object» . Это официально признанная ошибка в typeof , ведущая начало с времён создания JavaScript и сохранённая для совместимости. Конечно, null не является объектом. Это специальное значение с отдельным типом.
  3. Вызов typeof alert возвращает «function» , потому что alert является функцией. Мы изучим функции в следующих главах, где заодно увидим, что в JavaScript нет специального типа «функция». Функции относятся к объектному типу. Но typeof обрабатывает их особым образом, возвращая «function» . Так тоже повелось от создания JavaScript. Формально это неверно, но может быть удобным на практике.

Итого

В JavaScript есть 8 основных типов.

  • number для любых чисел: целочисленных или чисел с плавающей точкой; целочисленные значения ограничены диапазоном ±(2 53 -1) .
  • bigint для целых чисел произвольной длины.
  • string для строк. Строка может содержать ноль или больше символов, нет отдельного символьного типа.
  • boolean для true / false .
  • null для неизвестных значений – отдельный тип, имеющий одно значение null .
  • undefined для неприсвоенных значений – отдельный тип, имеющий одно значение undefined .
  • object для более сложных структур данных.
  • symbol для уникальных идентификаторов.

Оператор typeof позволяет нам увидеть, какой тип данных сохранён в переменной.

  • Имеет две формы: typeof x или typeof(x) .
  • Возвращает строку с именем типа. Например, «string» .
  • Для null возвращается «object» – это ошибка в языке, на самом деле это не объект.

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

Источник

Уроки программирования 1С: Примитивный тип данных Булево

На прошлых уроках программирования 1С мы изучили примитивные типы данных Число, Строка и Дата ознакомьтесь с этими материалами, прежде чем приступить к изучению этого.

Программирование 1С: примитивный тип данных Булево

Булево – один из базовых типов данных логических выражений.

Значения типа Булево имеют два значения Истина и Ложь, задаваемых соответствующими литералами. Часто применяется в различных логических вычислениях.

Для демонстрации работы с типом данных мы разработаем простой логический вычислитель Светофор.

Программирование 1С: логический вычислитель Светофор

Идея проста – мы имеем 3 реквизита типа «Булево»:

Соответственно каждый этот реквизит может быть либо «активен» (то есть иметь значение Истина), либо «отключен» (то есть иметь значение Ложь).

Перенесем реквизиты на форму обработки.

Обратите внимание ؘ– мы использовали инструменты оформления элементов. В данном случае мы изменили цвет текста в настройках поля.

Далее создадим реквизит типа Строка, который назовем Реакция пешехода и также перенесем его на форму. Задача нашей обработки – при вводе определенной комбинации «цветов светофора», выводить в стоке результат – ожидаемое действие пешехода.

Для чистоты процедуры мы создадим обработчик события, который будет обнулять булевы реквизиты при открытии обработки. Создаем обработчик &НаКлиенте, который запускается ПриОткрытии через контекстное меню по щелчку на форме.

Конфигуратор автоматически подставил часть кода, которая задает условие запуска обработчика..

Задаем содержимое обработчика:

Обратите внимание, что значение булева реквизита «Ложь» нельзя брать в кавычки, иначе программа прочитает его как Строку.

Полный курс программиста 1С – с нуля до разработчика, способного решать практические учетные задачи в любой области.

Программирование 1С: составление кода

Далее определимся с логической частью нашей обработки, которую мы позднее преобразуем в код.

  1. Если горит Красный, а Зеленый и Желтый не горят — пешеход должен стоять.
  2. Если Вместе с Красным загорелся Желтый , а Зеленый не горит-пешеход должен приготовиться к движению.
  3. Если горит Зеленый, а Красный и Желтый не горят – пешеход должен переходить проезжую часть.
  4. Если горит Зеленый и Желтый, а Красный не горит — Пешеход должен поторопиться закончить движение.

Мы ранее ознакомились с универсальным хранилищем данных Массив, которая хранит данные и позволяет их вызвать по порядковому номеру. Попробуем реализовать хранение ситуаций через эту функцию. Создаем новую процедуру Ситуации (НомерСитуации), задача которой – возвращать порядковый номер ситуации из массива.

Другой вариант – использовать универсальное хранилище значений Соответствие, которое устанавливает связь между двумя данными – в данном случае Числом и Строкой. В данном примере мы используем синтаксис Вставить (записывает данные в хранилище) и Получить (получает из хранилища значение). Этот синтаксис также можно использовать с хранилищем Массив.

Далее мы приступаем к созданию логических выражений. Сначала смоделируем их обычным языком.

  • Если включился Красный, то Желтый и Зеленый должны быть выключены, команда «Стой».
  • Если включился Желтый, то возможно 2 варианта:

— Включен Красный, тогда Зеленый должен быть выключен, команда «Внимание»

Теперь необходимо перевести логические выражения в код. Задача упрощается понятным синтаксисом: Команда Если открывает логическое выражение, КонецЕсли – закрывает. Команды И, Тогда и Иначе используются внутри обработчика Если.

Пишем первый обработчик «Если включился Красный, то Желтый и Зеленый должны быть выключены, команда «Стой»:

  1. «Если включился Красный» – создаем обработчик события ПриИзменении реквизита Красный. Внутри открываем логическое выражение Если, и задаем условие Красный=Истина
  2. «То Желтый и Зеленый должны быть выключены» – используем выражение Тогда и задаем условия Желтый=Ложь;Зеленый=Ложь;
  3. «Команда «Стой» – мы задаем номер ситуации и запускаем процедуру получения данных из массива НомерСитуации=0;Ситуации(НомерСитуации);
  4. Логическое выражение не может закончился без команды Иначе, поскольку процедура должна выполнить какое-либо действие и в том случае, когда условия не выполнены. Иначе РеакцияПешехода=Неопределено; КонецЕсли; КонецПроцедуры.

В итоге у нас получился вот такой код:

Следующий обработчик будет состоять из 2-х частей: когда с желтым работает красный, и когда с желтым работает зеленый. Создаем обработчик ПриИзменении реквизита Желтый. Код будем писать аналогично, за тем исключением, что внутри обработчика мы опишем процедуру Если 2 раза.

Последний обработчик для Зеленого сигнала светофора будет выглядеть аналогично.

Проверим работу Светофора в режиме 1С:Предприятие, включая последовательно флажки реквизитов Красный, Желтый, Зеленый, Желтый, Красный и получая в соответствии с ситуацией строковые значения реквизита РеакцияПешехода.

Освойте навыки разработчика 1С на очных специализированных курсах от крупнейшей компании-франчайзи 1С.

Источник

Читайте также:  Отсутствие исполнительного производства по алиментам что это значит
Оцените статью
Оператор Описание Пример
== равно if (day == «Monday»)
> больше чем if (salary > 9000)