Уроки Javascript / Логические операции Или, Не, и
Преобразование типа в логический в JavaScript
JavaScript легко и непринуждённо, автоматически и на лету преобразует типы данных (когда это вообще возможно). И программисту не нужно особо заботиться о преобразовании. Правда, у этого есть другая сторона - программисту надо заботиться о том, чтобы результат этих автоматических преобразований соответствовал задаче. Ну и в некоторых случаях всё равно требуется явное преобразование. Его можно выполнить разными способами. Но сегодня об одном способе, о котором догадается не каждый - о преобразовании значение любого типа в тип логический...
JavaScript/Короткое вычисление логических операторов
Логические операторы && и || работают с величинами разных типов очень странным образом. Они преобразуют величину с левой стороны оператора в булевскую, чтобы понять, что делать дальше, но в зависимости от оператора и от результата этого преобразования, возвращают оригинальное значение либо левой, либо правой части. К примеру, || вернёт значение с левой части, когда его можно преобразовать в true – а иначе вернёт правую часть. console.log(null || "user") // → user console.log("Karl" || "user") // → Karl Такая работа оператора || позволяет использовать его как откат к значению по умолчанию...