Различие между операторами '&' и '&&' в JavaScript
Операторы '&' и '&&' в JavaScript служат разными целей, каждый из которых имеет свое собственное поведение и сценарии использования.
'&' Побитовый оператор И
'&' — это побитовый оператор И, в основном используемый в низкоуровневых программировании или при работе с двоичными данными. Он выполняет побитовую операцию И между двумя числовыми операндами, в результате чего получается число. Если операнды не являются числами, они приводятся к числам.
Пример:
const first = 123; const second = true; console.log(first & second); // 72 (bit-wise AND operation)
'&&' Логический оператор И
'&&' — это логический оператор И, обычно используемый для оценки условий. При обычном использовании он проверяет, являются ли оба операнда true-y, и возвращает true, если да, и false в противном случае.
Однако в JavaScript поведение логического оператора AND распространяется на любой тип данных и произвольное число. операндов. Он последовательно оценивает операнды и возвращает:
Пример:
const first = true; const second = false; const third = "abc"; console.log(first && second && third); // false (returns the first false-y operand)
&&' Короткое замыкание
Оператор '&&' демонстрирует короткое замыкание. Как только он встречает операнд false-y, он прекращает вычисление и возвращает false. Это метод оптимизации, который может повысить эффективность кода в определенных сценариях.
Пример:
const user = { isLoggedIn: () => false }; const message = user.isLoggedIn() && alert("Hello!"); // Equivalent to: if (user.isLoggedIn()) { alert("Hello!"); }
Поэтому '&' и '&&' выполняют в JavaScript разные роли. '&' используется для побитовых операций, а '&&' используется для логической оценки и обычно заменяет операторы if-else, предлагая краткий и эффективный способ проверки условий.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3