HighwayToCode
@HighwayToCode
While Учусь do Туплю

Как преобразовать код?

Доброго времени суток.

Являюсь новичком и решил поэкспериментировать с условиями.
Ранее рассматривал числовые значения, сейчас пытался работать со строками.
Подскажите, как преобразовать код, дабы он начал работать.

Собственно, вот это "чудо":

var wrong = cabel;

if(wrong = cabel){
  console.log('attach a wire')
}else if(wrong = router){
  console.log('check your router')
}else if(wrong = computer){
  console.log('reload your MacBook')
}else{
  console.log('Call Technical Support, Thanks!')
}
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
@K_Artem
Пока верстаю... Потом стану Fullstack )
Denis, у меня есть Вам 3 совета по Вашему коду:

1. Возможно Вы просто не правильно вставили код, но все же. Чтобы "сообщить" интерпретатору, что в
переменной wrong строка cabel, нужно написать так: var wrong = 'cabel';

2. Есть большая разница между операторами "=", "==" и "===" (Присваивание, равенство, строгое равенство).

var test;

test = '123' // В переменную test "ставим" строку '123'
test == 123 /* Переменную test (его значение) сравниваем с числом 123. True, т.к. строка '123' для сравнения 
              была преобразована в число 123 */
test === 123 /* Строго равенство отличается от простого тем, что сравнивается еще и тип. False, т.к. в test лежит 
              строка, а мы сравниваем его с числом*/


3. Рекомендую: LearnJavaScript: Советы по стилю кода

Будет лучше, если Вы сами преобразуете Ваш код. Можете попробовать еще и тернарный оператор "?"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
devellopah
@devellopah
делаем красиво:

var cond = '';

var options = {
	'cabel': 'attach a wire',
  'router': 'check your router',
  'computer': 'reload your MacBook',
  '': 'Call Technical Support, Thanks!'
}

console.log(options[cond]);


или ещё красивее...

function logMessage(cond) {
  
  var options = {
    'cabel': 'attach a wire',
    'router': 'check your router',
    'computer': 'reload your MacBook',
    '': 'Call Technical Support, Thanks!'
  }

  console.log(options[cond]);
}


logMessage(''); // Call Technical Support, Thanks!
logMessage('computer'); // reload your MacBook
Ответ написан
В условиях использовать оператор равенства ( === ), а не присваивания?
Ответ написан
Комментировать
sevirinov
@sevirinov
Web Developer
В условиях if () необходимо использовать операторы равенства, а Вы перезаписываете значение переменной...
прочтите это раздел "Операторы равенства"
Ответ написан
daemonhk
@daemonhk
ПсиХоПат
А может лучше switch заюзать? А то кто знает сколько этих условий придется писать?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы