text.search(pattern) // => 9: позиция первого совпадения
text.match(pattern) // => ["1", "2", "3"]: массив всех совпадений
text.replace(pattern,'#');
// => "testing: tf, tf. #"
text.split(/\D+/); // =>"1","2","3"]: разбить по нецифровым символам
Логическое значение говорит об истинности или ложности чего-то. Логический тип данных имеет только два допустимых логических значения. Эти два значения представлены литералами true
и false
.
Логические значения обычно представляют собой результат операций сравнения, выполняемых в JavaScript-программах. Например:
а == 4
Это выражение проверяет, равно ли значение переменной а числу 4. Если да, результатом этого сравнения будет логическое значение true
. Если значение переменной а не равно 4, результатом сравнения будет false
.
Логические значения обычно используются в управляющих конструкциях JavaScript. Например, инструкция if/else
в JavaScript выполняет одно действие, если логическое значение равно true
, и другое действие, если false
. Обычно сравнение, создающее логическое значение, непосредственно объединяется с инструкцией, в которой оно используется. Результат выглядит так:
if (а == 4)
b = b + 1;
else
а = а + 1:
Здесь выполняется проверка равенства значения переменной а числу 4. Если равно, к значению переменной b добавляется 1; в противном случае число 1 добавляется к значению переменной а.
Как будет говориться в разделе 3.8, любое значение в языке JavaScript может быть преобразовано в логическое значение. Следующие значения в результате такого преобразования дают логическое значение (и затем работают как) false
:
undefined
null
0
-0
NaN
// пустая строка
Все остальные значения, включая все объекты (и массивы), при преобразовании дают в результате значение (и работают как) true
. Значение false
и шесть значений, которые при преобразовании приводятся к этому значению, иногда называют ложными, а все остальные - истинными. В любом контексте, когда интерпретатор JavaScript ожидает получить логическое значение, ложные значения интерпретируются как false
, а истинные значения - как true
.
В качестве примера предположим, что переменная о
может хранить объект или значение null
. В этом случае можно явно проверить значение переменной о на неравенство значению null, как показано ниже:
if (о !== null) ...
Оператор «не равно» !==
сравнит переменную о со значением null
и вернет в результате true
или false
. Однако вы можете опустить оператор сравнения и положиться на тот факт, что null
является ложным значением, а объект - истинным:
if (о) ...
В первом случае тело инструкции if
будет выполнено, только если значение переменной о не равно null
. Во втором - ставится менее жесткое условие: тело инструкции if
будет выполнено, только если о не содержит false
или другое ложное значение (такое как null
или undefined
). Какая инструкция if
больше подходит для вашей программы, зависит от того, какие значения могут присваиваться переменной о
. Если в программе необходимо отличать значение null
от 0
и ""
, то следует использовать явную операцию сравнения.
Логические значения имеют метод toString()
, который можно использовать для преобразования этих значений в строки «true» или «false», но они не имеют других полезных методов. Несмотря на простоту прикладного интерфейса, в языке имеется три важных логических оператора.
Оператор &&
выполняет логическую операцию И. Он возвращает истинное значение, только если оба операнда истинны - в противном случае он возвращает ложное значение. Оператор ||
выполняет логическую операцию ИЛИ: он возвращает истинное значение, если хотя бы один (или оба) из операндов является истинным, и ложное значение - если оба операнда являются ложными. Наконец, унарный оператор !
выполняет логическую операцию НЕ: он возвращает значение true
для ложного операнда и false
- для истинного. Например:
Читать дальше
Конец ознакомительного отрывка
Купить книгу