typescript switch case介绍及案例

767 阅读2分钟

在这篇博文中,我将带你了解 typescript switch case 的各种例子。

类型脚本的开关案例

Typescript是面向对象的语言,是javascript的超级力量,包括许多语言特性。开关语句是编程语言的基本模块之一,用于条件表达,避免嵌套if else语句。

下面是一个基本的语法

switch(expression){
    case case1: statements
        break;
    case case2: statements
        break;
    default:
        default statements;
}

让我们看看typescript的switch case中的各种例子

字符串变量在switch和case中的例子

字符串和case语句接受的是字符串类型的变量和数据。值的类型应该是原始的string ,而不是全局对象String

重要提示 在下面的例子中

  • 开关表达式接受字符串数据类型的变量
  • 在每个案例中,值的类型是字符串
  • 每个案例都返回值
  • 每个案例都有break语句来退出循环
class SwitchExample {

	public isWorkingDay(weekName: string): boolean {
		switch (weekName) {
			case 'saturday':
				console.log('saturday')
				return false;
				break;
			case 'sunday':
				console.log('sunday')
				return false;


				break;

			default:
				console.log('working day')
				return true;


				break;
		}
	}
}

var example = new SwitchExample();
console.log(example.isWorkingDay('sunday'))
console.log(example.isWorkingDay('monday'))

输出

sunday
false
working day
true

开关情况下的原始数据类型值

切换案例接受原始类型的数字和表达式

下面是一个使用switch case检查给定数字是正还是负的例子。

表达式接受返回真或假的条件表达,每个case块必须提供布尔值。

class SwitchNumberExample {

	public isPositive(value: number): boolean {
		switch (value < 0) {
			case false:
				console.log('negative number')
				return false;
				break;
			default:
				console.log('positive number')
				return true;


				break;
		}
	}
}

var example = new SwitchNumberExample();
console.log(example.isPositive(1))
console.log(example.isPositive(-1))

下面是一个输出

negative number
false
positive number
true

带对象和接口的开关案例联合类型

下面的例子使用了以下内容

  • 创建了没有方法的标记接口
  • 通过实现动物,为动物和狮子提供了类
  • 每个类都有鉴别器类型
  • 切换案例接受狗和狮子的联合类型
  • 联合类型的表达式针对字符串类型的案例值进行评估
interface Animal {}

class Dog implements Animal {
  type: string="dog";
}

class Lion implements Animal {
   type: string= "lion";
}
class SwitchClassExample {

	public getAnimal(animal: Dog | Lion) {
		switch (animal.type) {
			case 'dog':
				console.log('Animal is Dog ');
				break;
			case 'lion':
				console.log('Animal is Lion ');
				break;

			default:
				console.log('Other Animal types');
				break;
		}
	}
}

var example = new SwitchClassExample();
let animal=new Dog();
example.getAnimal(animal);
example.getAnimal(new Lion());

并给定输出为

Letter b,c, and d Checked