Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Поясните прикол с JS (неравно)

А. П. Профи (519), на голосовании 1 год назад
Только учусь. Мне из-за консоль выдаёт ошибку на строках:

if (а != 8) {
console.log(`Да`);
} else {
console.log(`Нет`);
}

Я попробывала изментить первую строку на if (а =! 8) { , и это сработало, но ведь =! - это неверная запись для неравенства? Почему тогда правильный вариант неравно ( != ) не прокатывет? Или я просто туплю и =! всегда было правильным вариантом записи?
Голосование за лучший ответ
Молот Шотландцев Высший разум (301444) 1 год назад
а =! 8 это не проверка на неравенство, а присвоение переменной булева значения. Результатом будет false
Semen Kapacuk Гуру (3754) 1 год назад
Консоль выдает ошибку - какую ошибку?
Я скопировал, там русская а, видимо это и есть ошибка
MikechМастер (1575) 1 год назад
в js можно переменный и функции писать на русском


Semen Kapacuk Гуру (3754) Mikech, я в курсе и я не о том, что нельзя их писать, а что вряд ли автор намеренно это делает
А. П.Профи (519) 1 год назад
index.js:19 Uncaught ReferenceError: а is not defined
at index.js:19:1
Вот такая
Semen Kapacuk Гуру (3754) А. П., ну как я и думал. либо в том месте, где переменная объявляется, поменять английскую а на русскую, либо в условии поменять русскую на английскую
А. П.Профи (519) 1 год назад
Но спасибо, я не знала, что там русская а. (просто тест решаю, там эти строчки и были)
Dlazder Мудрец (16927) 1 год назад
Не равно в js это !==
фигня какая-таМастер (1002) 1 год назад
!== сравнивает, учитывая тип (2 !== '2', 2 === 2, '2' === '2')
!= сравнивает без учета типа (2 == '2', 2 == 2, '2' == '2')
Павел Просветленный (25621) 1 год назад
А знаешь почему
 if (а =! 8) 
сработало?
Потому что данное выражение в скобках аналогично этому
 var a = !8; // Объявляется переменная

!8 == !true; // 8 преобразуется в boolean

!true == false // значение инвертируется

a == false; // итоговое значение
Ты создаёшь новую переменную в скобках.
Похожие вопросы