Files
freecodecamp--freecodecamp/curriculum/challenges/english/blocks/basic-javascript/56533eb9ac21ba0edf2244de.md
T
wehub-resource-sync dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

2.3 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
56533eb9ac21ba0edf2244de Adding a Default Option in Switch Statements 1 16653 adding-a-default-option-in-switch-statements

--description--

In a switch statement you may not be able to specify all possible values as case statements. Instead, you can add the default statement which will be executed if no matching case statements are found. Think of it like the final else statement in an if/else chain.

A default statement should be the last case.

switch (num) {
  case value1:
    statement1;
    break;
  case value2:
    statement2;
    break;
...
  default:
    defaultStatement;
    break;
}

--instructions--

Write a switch statement to set answer for the following conditions:
a - apple
b - bird
c - cat
default - stuff

--hints--

switchOfStuff("a") should return the string apple

assert(switchOfStuff('a') === 'apple');

switchOfStuff("b") should return the string bird

assert(switchOfStuff('b') === 'bird');

switchOfStuff("c") should return the string cat

assert(switchOfStuff('c') === 'cat');

switchOfStuff("d") should return the string stuff

assert(switchOfStuff('d') === 'stuff');

switchOfStuff(4) should return the string stuff

assert(switchOfStuff(4) === 'stuff');

You should not use any if or else statements

assert(!/else/g.test(__helpers.removeJSComments(code)) || !/if/g.test(__helpers.removeJSComments(code)));

You should use a default statement

assert(switchOfStuff('string-to-trigger-default-case') === 'stuff');

You should have at least 3 break statements

assert(__helpers.removeJSComments(code).match(/break/g).length > 2);

--seed--

--seed-contents--

function switchOfStuff(val) {
  let answer = "";
  // Only change code below this line



  // Only change code above this line
  return answer;
}

switchOfStuff(1);

--solutions--

function switchOfStuff(val) {
  let answer = "";

  switch(val) {
    case "a":
      answer = "apple";
      break;
    case "b":
      answer = "bird";
      break;
    case "c":
      answer = "cat";
      break;
    default:
      answer = "stuff";
  }
  return answer;
}