В чем разница между & и &&?
Использует JavaScript два отдельных оператора для выполнения логических операций: & и &&. Хотя изначально они кажутся похожими, их поведение существенно различается.
Побитовое И (&)
& известно как побитовый оператор И. Он выполняет побитовые операции между двумя числовыми операндами, возвращая в результате число. Однако он редко используется в JavaScript из-за его ограниченной полезности и недостатков производительности.
Логическое И (&&)
&& — это логический оператор И. В отличие от &, он работает с любым типом данных, включая числовые и логические значения. Он проверяет, верны ли все операнды, и возвращает:
Короткое замыкание в &&
Существенной характеристикой && является короткое замыкание. Как только обнаруживается ложный операнд, вычисление прекращается, а остальные операнды игнорируются. Это позволяет JavaScript оптимизировать код, пропуская ненужные вычисления.
Случаи практического использования
Побитовое И (&)
Логическое И (&&)
Примеры кода
const first = 123;
const second = false;
const third = 456;
const fourth = "abc";
const fifth = true;
console.log(first & second); // 0
console.log(first & third); // 72
console.log(first & fourth); // 0
console.log(first & fifth); // 1
console.log(first && second); // false
console.log(first && third); // 456
console.log(first && fourth); // abc
console.log(first && fifth); // true
Заключение
& (Побитовое И) и && (Логическое И) — это разные операторы в JavaScript с разными вариантами использования. & встречается редко и используется в определенных сценариях, в то время как && является универсальным, обеспечивая эффективную условную оценку и оптимизацию посредством короткого замыкания. Понимание их различий имеет решающее значение для освоения логических возможностей JavaScript.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3