| 
 Почему false == false равно false Вот часть моего кода: 
buttons.map(function(data) {
                let checked = undefined;
                count++;
                console.log('data.value = ' + data.value + " " + typeof Boolean(data.value));
                console.log('default = ' + defaultValue + ' ' +  typeof defaultValue)
                console.log(Boolean(data.value) == defaultValue)
                console.log('-----------------------------')
                if (Boolean(data.value) == defaultValue) {
                    console.log('inside checked')
                    checked = 'checked';
                }
Данный кусок вывод в консоль следующее: data.value = true boolean default = false boolean false ----------------------------- data.value = false boolean default = false boolean false ----------------------------- data.value = true boolean default = false boolean false ----------------------------- data.value = false boolean default = false boolean false ----------------------------- Объясните, пожалуйста, почему мой код не заходит в блок if во второй и 4-й итерации? | 
| 
 
alert( Boolean('false') )
Потому что любая не пустая строка приводится к true. А data.value, очевидно, строка. В таких случаях надо явно сравнивать строки. | 
| 
 Огромное спасибо за исчерпывающий ответ | 
| Часовой пояс GMT +3, время: 21:31. |