JavaScript: сумма true
что будет если сложить true и true
Что будет, если в JavaScript сложить две “истины” - два логических значения true
?
console.log(true + true == true);
Может ли сравнение такой суммы с другим значением true
оказаться ложью?
Попробуем разобраться.
Как и для многих подобных примеров, в первую очередь мы должны помнить о правилах преобразования типов данных при выполнении различных операций в JavaScript.
Когда мы хотим сложить две логических “истины”, происходит приведение каждого операнда к числу:
-
true
равен 1, -
false
равен 0.
Теперь нетрудно догадаться, что:
true + true == 1 + 1 // 2
То есть результатом сложения двух true
будет цифра 2.
Мы сравниваем полученную сумму 2
с другим значением true
, которое будет равно 1
.
После преобразования типов данных по обе стороны сравнения получается:
2 == 1 // false
Таким образом, сравнение суммы двух true
с true
является ложью. В консоль будет выведено значение false
.
console.log(true + true == true);
// false
Спасибо за внимание.