1. 条件语句
1.1. 描述
  条件语句用于基于不同的条件来执行不同的动作。
   条件语句是通过一条或多条语句的执行结果(true或false)来决定后面执行的代码块。
1.2. 常使用的条件语句
(1)if语句 - 只有当指定条件为true时,使用该语句来执行代码
 (2)if…else语句 - 当条件为true时执行if中代码,当条件为false时执行else中代码。
 (3)if…else if…else语句 - 使用该语句是选择多个代码块之一来执行。
 (4)switch语句 - 等同if…else if…else
1.2.1. if语句
  if语句由一个布尔表达式后跟一个或多个语句组成。
   语法:
if(boolean_value){
// 在布尔表达式boolean_value为true时,执行
}
// 在布尔表达式boolean_value为false时,直接到这里执行
实例:
var  num:number = 5
if (num > 0) { console.log("数字是正数") 
}
执行结果:数字是正数
1.2.2. if…else语句
  一个if语句后跟一个可选的else语句,else语句在布尔表达式为false时执行。
   语法:
if(boolean_value){
// 在布尔表达式boolean_value为true时,执行
} else {
// 在布尔表达式boolean_value为false时,执行
}
实例:
var num = 12;
if (num % 2 == 0) {console.log("偶数");
}
else {console.log("奇数");
}
执行结果:偶数
1.2.3. if…else if…else语句
  if…else if…else语句在执行多个判断条件的时候使用。
   语法:
if(boolean_value1){
// 在布尔表达式boolean_value1为true时,执行
} else if(boolean_value2) {
// 在布尔表达式boolean_value1为true时,执行
} else {
// 布尔表达式都为false时,执行
}
  需要注意以下几点:
 (1)一个if判断语句可以有0或者1个else语句,它必须在else…if语句后面。
 (2)一个if判断语句可以有0或者多个else…if语句,这些语句必须在else之前。
 (3)一旦执行了else…if内的代码,后面的else…if或else将都不会再执行。
   实例:
    var num: number = 5if (num > 0) {console.log(num + " 是正数");} else if (num < 0) {console.log(num + " 是负数");} else {console.log(num + " 不是正数也不是负数");}
执行结果:5是正数
1.2.4. switch…case语句
  一个switch语句允许测试一个变量等于多个值的情况。每个值称为一个case,并且被测试的变量会对每个switch case进行检查。
   语法:
switch(variable){case value1 :statement(s);break; /* 可选的 */case value2 :statement(s);break; /* 可选的 *//* *您可以有任意数量的 case 语句*/default : /* 可选的 */statement(s);
}
  switch语句必须遵循的规则:
 (1)switch语句中variable是一个要被比较的表达式,可以是任何类型,包括基本数据类型(如:string、number、boolean等)、对象类型(如:object、Array、Map等)以及自定义类型(如:class、interface、enum等)等。
 (2)在一个switch中可以有任意数量的case语句。每个case后跟一个比较的值和冒号。
 case的value必须与switch中变量相同的数据类型。
 (3)当被测试的变量等于case中的常量值时,case后跟的语句将被执行,直到遇到break语句为止。
 (4)当遇到break语句时,switch终止,控制流将跳转到switch语句下一行。
 (5)不是每一个case都需要包括break。如果case语句不包含break,控制流将继续后续case,直到遇到break为止。
 (6)一个switch语句可以有一个可选的default case,出现在switch末尾。default关键字则表示表达式的值与所有case值都不匹配时执行的代码块。default case语句中break语句不是必须的。
switch(variable){case value1 :statement(s);break; /* 可选的 */case value2 :statement(s);break; /* 可选的 *//* *您可以有任意数量的 case 语句*/default : /* 可选的 */statement(s);
}
实例:
 var grade:string = "A";switch (grade) {case "A": {console.log("优");break;}case "B": {console.log("良");break;}case "C": {console.log("及格");break;}case "D": {console.log("不及格");break;}default: {console.log("非法输入");break;}}
执行结果:优