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
Спасибо за внимание.
