Часто в программировании встречаются случаи, когда нужно выполнить действие по какому-то условию. Тут на помощь приходят операторы if
и switch
.
Используются не только в ветвлениях, но и в циклах, а также можно записать в переменную.
Их всего два:
false
,0
,""
,null
,NaN
,undefined
;true
,Очень хорошо, что в JavaScript можно сравнивать значение переменных (или просто каких-то значений, что бессмысленно), ведь это очень часто пригождается на практике. Тут знаки такие же, как и в математике (не считая некоторых):
<
- меньше;>
- больше;<=
- меньше или равно;>=
- больше или равно;==
- простое сравнение. Сравнивает значения. Такие выражения, как 1 == «1»
будут «правдивыми», так как тут происходит преобразование типов. Следует быть внимательным к таким моментам, бывает сложно найти ошибку в коде при таком сравнении;===
- строгое сравнение. Сравнивается как значение, так и тип. То есть null
не будет равен undefined
(разный тип данных), 0
не будет равен false
и так далее. !
- логическое НЕ, которая инвертирует (меняет на противоположное) значение.console.log(!false); // Выведет true
||
- логическое ИЛИ, которое выведет истину, если хотя бы одно из значений правдивое.console.log(false || false); // Будет ложным, оба значения false console.log(false || true); // Будет истина, есть одно true console.log(true || false); // Будет истина, есть одно true console.log(true || true); // Будет истина
&&
- логическое И, выведет истину в случае, если оба значения истинные:console.log(false && false); // Будет ложным, оба значения false console.log(false && true); // Будет ложным, есть одно false console.log(true && false); // Будет ложным, есть одно false console.log(true && true); // Будет истина
Вычисляет условие внутри круглых скобок и, если значение условия является «правдивым», выполняет действия внутри блока (фигурных скобок):
if (условие) // Какое-то однострочное действие // или if (условие) { // Какие-то действия, которые выполнятся, если условие окажется правдивым }
Использование фигурных скобок не обязательно, но желательно. Повышает читаемость кода и вашу самооценку
Бывают случаи, когда условие принимет и «ложные» значения, и нужно выполнить действие:
if (условие) { // Тут код выполнится, если условие "правдивое" } else { // А здесь код выполнится, если условие оказалось "ложным" }
Также можно добавить еще и промежуточные условия, которые будут выполнятся, если предыдущее оказалось «ложным»:
if (условие1) { // Тут код выполнится, если условие1 "истинное" } else if (условие2) { // Вот тут код выполнится, если условие1 - "ложное", а условие2 - "правдивое" } else { // Ну а тут, если все условия выше "ложные" }
Очень похож на if
, принимает переменную и сравнивает её значение со значением после оператора case
. Если ни одно из значений после case
не равно значению переменной, то выполнится действие после оператора default
.
Внимание: что если не поставитьbreak
, то выполнятся все действия ниже, до следующегоbreak
в блоке или до конца блокаswitch
switch переменная { case значение1: ... break; case значение2: ... break; default: ... break; }