0
0

Друзья, доброго времени суток.

Хотел бы уточнить актуален ли синтаксис применения switch  на данный момент в том виде, который преподается в курсе Javascript?

Пример кода

let num = 50;

switch (num) {
	case num < 49:
		console.log("неверно");
		break;
	case num > 100:
		console.log("Много");
		break;
	case num > 80:
		console.log("Все еще много");
		break;
	case 50:
		console.log("Верно!");
		break;
	default:
		console.log("Ошибка");
		break;
};

Да, действительно при значении переменной num = 50 в консоль выводится верная строка, https://pastenow.ru/ba457cf34ea6cc2f3a62a1a4678cd732 но стоит поменять значение будь то на 48, 103, 85 выполняется default, пропуская абсолютно любые условия, даже те которые при определенном значении должны быть true. https://pastenow.ru/aef663d4a9873c1be631bb8bbec9d061

В качестве дополнения, хотел бы уточнить: JsHint ругается на то как применен "use strict" это может на данный момент влиять на работу кода? https://pastenow.ru/a0e56fba59c0012a82c420695708ce84


Арсен М
4 years ago






этот код ( с true в условии ) также не работает)

Mikhail Murashev
1 year ago

В общем разобрался сам.

для того чтобы код сработал он должен иметь такую кострукцию :

let num = 50;

switch (true) {
	case num < 49:
		console.log("неверно");
		break;
	case num > 100:
		console.log("Много");
		break;
	case num > 80:
		console.log("Все еще много");
		break;
	case 50:
		console.log("Верно!");
		break;
	default:
		console.log("Ошибка");
		break;
};

Главное правильно расставить условия, потому что оператор закончит свою работу при первом же значении, которое вернет true. Всем спасибо, мне спасибо :D

Арсен М
4 years ago

2 ответов