Files
freeCodeCamp/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators.md

3.3 KiB
Raw Blame History

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
587d7b7e367417b2b2512b21 Використання декількох умовних (трикомпонентних) операторів 1 https://scrimba.com/c/cyWJBT4 301179 use-multiple-conditional-ternary-operators

--description--

У попередньому завданні ви використовували одинарний умовний оператор. Ви також можете їх об'єднати для того, щоб перевірити декілька умов.

Наступна функція використовує if, else if, а також else твердження, щоб перевірити декілька умов:

function findGreaterOrEqual(a, b) {
  if (a === b) {
    return "a and b are equal";
  }
  else if (a > b) {
    return "a is greater";
  }
  else {
    return "b is greater";
  }
}

Вказану вище функцію можна переписати, використовуючи декілька умовних операторів:

function findGreaterOrEqual(a, b) {
  return (a === b) ? "a and b are equal" 
    : (a > b) ? "a is greater" 
    : "b is greater";
}

Найкращою практикою вважають відформатування декількох умовних операторів таким чином, що кожна умова буде знаходитися в окремому рядку, як вказано вище. Використання декількох умовних операторів без правильних відступів може ускладнити читання вашого коду. Наприклад:

function findGreaterOrEqual(a, b) {
  return (a === b) ? "a and b are equal" : (a > b) ? "a is greater" : "b is greater";
}

--instructions--

У функції checkSign, використовуйте декілька умовних операторів, дотримуючись рекомендованого формату, що використаний у findGreaterOrEqual - для того, щоб перевірити чи число додатнє, від'ємне або нуль. Функція має повернути positive, negative or zero.

--hints--

checkSign має використовувати декілька умовних операторів

assert(/.+?\s*?\?\s*?.+?\s*?:\s*?.+?\s*?\?\s*?.+?\s*?:\s*?.+?/gi.test(code));

checkSign(10) має повернути рядок positive. Зверніть увагу на те, що написання з великої літери - важливе

assert(checkSign(10) === 'positive');

checkSign(-12) має повернути рядок negative. Зверніть увагу на те, що написання з великої літери - важливе

assert(checkSign(-12) === 'negative');

checkSign(0) має повернути рядок zero. Зверніть увагу на те, що написання з великої літери - важливе

assert(checkSign(0) === 'zero');

--seed--

--seed-contents--

function checkSign(num) {

}

checkSign(10);

--solutions--

function checkSign(num) {
  return (num > 0) ? 'positive' : (num < 0) ? 'negative' : 'zero';
}