Равенство 4 текстовых значений

214
09 февраля 2018, 22:28

Почему 1 == 1 == 1 == 1 выдает результат true, а 'knx' == 'knx' == 'knx' == 'knx' выдает результат false

Answer 1

потому что 1 это ещё и true. попробуйте так 2 == 2 == 2 == 2 - будет false

работает примерно так:

(1 == 1) == 1 == 1 итого (true) == 1 == 1 далее ((true) == 1 ) == 1 - тоже true (так как 1 это true). Ну и так далее...

'knx' == 'knx' == 'knx' == 'knx' : 'knx' == 'knx' == 'knx' == 'knx' -> (true) == 'knx' == 'knx' -> (true == 'knx') - false

Answer 2

Потому что это логично. 1 - истина (true), 0 - ложь (false). Результат первой операции сравнения будет логическим типом и равняется true, далее true ты сравниваешь с 'knx'. А теперь подумай над этим - 'knx' == true.

Answer 3

Потому что сравнение выполняется слева направо:

  • ((1 == 1) == 1) == 1
  • (true == 1) == 1
  • true == 1
  • true

Правильно сравнивать одним из следующих способов:

var a = 2, b = 2, c = 2, d = 2; 
console.log(a == b && a == c && a == d); 
console.log(a === b && a === c && a === d);

READ ALSO
Как передать в компонент название тега, который должен внутри отрендерится?

Как передать в компонент название тега, который должен внутри отрендерится?

Доброго времени суток! Вопрос такой, мне надо во Vue компонент передать название html тега, и он должен этот тег добавить в свою разметкуЕсть...

225
Ошибка при попытке создать React-native проект

Ошибка при попытке создать React-native проект

Использую комманду: create-react-native-app AwesomeProject После перехожу в проект: cd awesomeproject Далее: npm run eject Чтобы скомпилировать файлы для AndroidStudio Версия...

243
2 синхронных select с сортировкой по алфавиту

2 синхронных select с сортировкой по алфавиту

На сайте есть 2 синхронных select,

211
Добавить точку в polyline

Добавить точку в polyline

Не могу разобраться как добавить точку в уже существующую polyline

241