Freecodecamp: Выбор из множества опций с операторами Switch — неправильный

Созданный на 24 февр. 2016  ·  3Комментарии  ·  Источник: freeCodeCamp/freeCodeCamp

Шаблон задачи FreeCodeCamp

Чтобы использовать этот шаблон:

  • Заполните то, что вы можете
  • Удалите то, что не заполняете

ПРИМЕЧАНИЕ. ПРОБЛЕМЫ НЕ ПРЕДНАЗНАЧЕНЫ ДЛЯ ПОМОЩИ КОДА. Обратитесь за помощью по адресу https://gitter.im/FreeCodeCamp/Help .

Описание проблемы

  • Кажется, я обнаружил проблему с описанием значений тестовых случаев. В модуле указано, что «значения case проверяются с помощью строгого оператора равенства (===). Я думаю, что это может быть неправильно. Мои причины следующие:

1.) При использовании операторов строгого равенства консоль Javascript помечает их и выдает красную ошибку X. Код не будет выполняться с использованием оператора строгого равенства.
2.) Примеры W3C http://www.w3schools.com/js/js_switch.asp показывают использование оператора присваивания, который мой код ниже также использует и проходит тест.

Я все еще учусь, но, надеюсь, это поможет, и можно будет внести исправления. Спасибо!

Информация о браузере

  • Google Chrome, версия 48.0.2564.109 (64-разрядная версия)
    *ОС X

    Ваш код

function myTest(val) {
  var answer = "";
  // Only change code below this line
  switch (val) {
    case 1: 
      answer = "alpha";
      break;
    case 2:
      answer = "beta";
      break;
    case 3:
      answer = "gamma";
      break;
    case 4:
      answer = "delta";
      break;
  }
// Only change code above this line  
  return answer;  
}

// Change this value to test
myTest(1);

Снимок экрана

screen shot 2016-02-23 at 6 42 27 pm

Самый полезный комментарий

значения case проверяются оператором строгого равенства (===)

Значит это

 switch (val) {
    case 1: 

эквивалентно if (val === 1) , а не то, что все внутри вашего случая должно быть строгим равенством.

Посетите справочный чат , если вам нужны дополнительные разъяснения. Спасибо и удачного кодирования!

Все 3 Комментарий

значения case проверяются оператором строгого равенства (===)

Значит это

 switch (val) {
    case 1: 

эквивалентно if (val === 1) , а не то, что все внутри вашего случая должно быть строгим равенством.

Посетите справочный чат , если вам нужны дополнительные разъяснения. Спасибо и удачного кодирования!

Потрясающе спасибо!

отправлено из моего Айфона

24 февраля 2016 г., в 15:01, Логан Тегман ( [email protected] ) написал:

значения case проверяются оператором строгого равенства (===)

Значит это

переключатель (значение) {
Дело 1:
эквивалентно if (val === 1), а не тому, что все внутри вашего случая должно быть строгим равенством.

Посетите справочный чат, если вам нужны дополнительные разъяснения. Спасибо и удачного кодирования!


Ответьте на это письмо напрямую или просмотрите его на GitHub.

Я смотрю на приведенный выше код, но не смог заставить код работать со строгим равенством, но это мой код, если у людей есть вопросы или они считают, что это неправильно, оставьте мне комментарий.
`
функция caseInSwitch(val) {
вар ответ = "";
// Изменяем только код ниже этой строки
переключатель (значение) {
Дело 1:
ответ = "альфа";
ломать;
случай 2:
ответ = "бета";
ломать;
случай 3:
ответ = "гамма";
ломать;
случай 4:
ответ = "дельта";
ломать;
}

// Изменяем только код над этой строкой
обратный ответ;
}

// Изменяем это значение для проверки
caseInSwitch(2);

`

Была ли эта страница полезной?
0 / 5 - 0 рейтинги