You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/bg/2-js-basics/3-making-decisions
leestott c0ca49b2cc
🌐 Update translations via Co-op Translator
1 week ago
..
README.md 🌐 Update translations via Co-op Translator 1 week ago
assignment.md 🌐 Update translations via Co-op Translator 1 week ago

README.md

Основи на JavaScript: Вземане на решения

Основи на JavaScript - Вземане на решения

Скетч от Tomomi Imura

Тест преди лекцията

Тест преди лекцията

Вземането на решения и контролирането на реда, в който се изпълнява кодът ви, прави вашия код по-гъвкав и надежден. Тази секция обхваща синтаксиса за контролиране на потока от данни в JavaScript и значението му, когато се използва с булеви типове данни.

Вземане на решения

🎥 Кликнете върху изображението по-горе за видео относно вземането на решения.

Можете да преминете този урок на Microsoft Learn!

Кратко припомняне за булевите стойности

Булевите стойности могат да имат само две стойности: true или false. Те помагат да се вземат решения кои редове от кода да се изпълнят, когато са изпълнени определени условия.

Задайте булева стойност като true или false по следния начин:

let myTrueBool = true
let myFalseBool = false

Булевите стойности са наречени на английския математик, философ и логик Джордж Бул (18151864).

Оператори за сравнение и булеви стойности

Операторите се използват за оценка на условия чрез сравнения, които създават булева стойност. Ето списък с често използвани оператори:

Символ Описание Пример
< По-малко от: Сравнява две стойности и връща булева стойност true, ако стойността отляво е по-малка от тази отдясно 5 < 6 // true
<= По-малко или равно на: Сравнява две стойности и връща булева стойност true, ако стойността отляво е по-малка или равна на тази отдясно 5 <= 6 // true
> По-голямо от: Сравнява две стойности и връща булева стойност true, ако стойността отляво е по-голяма от тази отдясно 5 > 6 // false
>= По-голямо или равно на: Сравнява две стойности и връща булева стойност true, ако стойността отляво е по-голяма или равна на тази отдясно 5 >= 6 // false
=== Строго равенство: Сравнява две стойности и връща булева стойност true, ако стойностите отляво и отдясно са равни И са от един и същ тип данни 5 === 6 // false
!== Неравенство: Сравнява две стойности и връща обратната булева стойност на това, което би върнал операторът за строго равенство 5 !== 6 // true

Проверете знанията си, като напишете няколко сравнения в конзолата на браузъра си. Изненадва ли ви някой от върнатите резултати?

If израз

Изразът if ще изпълни кода между своите блокове, ако условието е вярно.

if (condition) {
  //Condition is true. Code in this block will run.
}

Логическите оператори често се използват за формиране на условието.

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
}

If..Else израз

Изразът else ще изпълни кода между своите блокове, когато условието е невярно. Той е опционален с израза if.

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is false. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

Тествайте разбирането си за този код и следващия, като го изпълните в конзолата на браузъра. Променете стойностите на променливите currentMoney и laptopPrice, за да промените върнатия резултат от console.log().

Switch израз

Изразът switch се използва за изпълнение на различни действия въз основа на различни условия. Използвайте switch, за да изберете един от много блокове код за изпълнение.

switch (expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
  // code block
}
// program using switch statement
let a = 2;

switch (a) {
  case 1:
    a = "one";
    break;
  case 2:
    a = "two";
    break;
  default:
    a = "not found";
    break;
}
console.log(`The value is ${a}`);

Тествайте разбирането си за този код и следващия, като го изпълните в конзолата на браузъра. Променете стойностите на променливата a, за да промените върнатия резултат от console.log().

Логически оператори и булеви стойности

Решенията може да изискват повече от едно сравнение и могат да бъдат свързани с логически оператори, за да се получи булева стойност.

Символ Описание Пример
&& Логическо И: Сравнява две булеви израза. Връща true само ако и двете страни са верни (5 > 6) && (5 < 6 ) // Едната страна е невярна, другата е вярна. Връща false
|| Логическо ИЛИ: Сравнява две булеви израза. Връща true, ако поне едната страна е вярна (5 > 6) || (5 < 6) // Едната страна е невярна, другата е вярна. Връща true
! Логическо НЕ: Връща обратната стойност на булев израз !(5 > 6) // 5 не е по-голямо от 6, но "!" ще върне true

Условия и решения с логически оператори

Логическите оператори могат да се използват за формиране на условия в изрази if..else.

let currentMoney;
let laptopPrice;
let laptopDiscountPrice = laptopPrice - laptopPrice * 0.2; //Laptop price at 20 percent off

if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is true. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

Оператор за отрицание

Досега видяхте как можете да използвате израз if...else, за да създадете условна логика. Всичко, което влиза в if, трябва да се оценява като вярно/невярно. Чрез използването на оператора ! можете да отрицаете израза. Това би изглеждало така:

if (!condition) {
  // runs if condition is false
} else {
  // runs if condition is true
}

Тернарни изрази

if...else не е единственият начин за изразяване на логика за вземане на решения. Можете също да използвате нещо, наречено тернарен оператор. Синтаксисът му изглежда така:

let variable = condition ? <return this if true> : <return this if false>

По-долу е даден по-осезаем пример:

let firstNumber = 20;
let secondNumber = 10;
let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber;

Отделете минута, за да прочетете този код няколко пъти. Разбирате ли как работят тези оператори?

Горният код гласи:

  • ако firstNumber е по-голямо от secondNumber
  • тогава присвойте firstNumber на biggestNumber
  • иначе присвойте secondNumber.

Тернарният израз е просто компактен начин за написване на следния код:

let biggestNumber;
if (firstNumber > secondNumber) {
  biggestNumber = firstNumber;
} else {
  biggestNumber = secondNumber;
}

🚀 Предизвикателство

Създайте програма, която първо е написана с логически оператори, а след това я пренапишете, използвайки тернарен израз. Кой синтаксис предпочитате?


Тест след лекцията

Тест след лекцията

Преглед и самостоятелно обучение

Прочетете повече за многото оператори, достъпни за потребителя, на MDN.

Разгледайте чудесния справочник за оператори на Джош Комо!

Задание

Оператори


Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия изходен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод от човек. Ние не носим отговорност за каквито и да е недоразумения или погрешни интерпретации, произтичащи от използването на този превод.