1. 简介

TypeScript 是一种给 JavaScript添加特性的语言扩展

2. 安装

npm install -g typescrip

3. 使用

3.1 变量声明

声明变量的类型以及初始值

var [变量名] : [类型] =
var name:string;
name = "ZhangSan"; 
name = 123; //编译错误
3.2 函数声明

声明函数时可定义参数类型以及返回值类型

function function_name(param1:datatype,param2: datatype): return_type{
   
  return
}
function add(x:number,y:number):number {
   
  return x + y;
}

剩余参数:
剩余参数允许我们将一个不确定数量的参数作为一个数组传入

function addnumber(...nums:number[]){
   
  var i = 0;
  var sum:number = 0;
  for(i = 0;i < nums.lenth;i++){
   
    sum = sum + nums[i]
  }
  return sum
}
console.log(addnumber(1,3,5))  // 9
console.log(addnumber(1,2))  // 3
3.3 联合类型

联合类型可以通过管道(|)将变量设置为多种类型

var val:string|number;
val = "wang";
val = 123; 
val = true; //报错

也可以将联合类型作为函数参数使用:

// 也可以将联合类型作为参数使用
function disp(name:string|string[]) {
   
  if(typeof name == "string"){
   
    console.log(name)
  }else{
   
    for(var i = 0;i < name.length;i++){
   
      console.log(name[i]);
    }
  }
}
disp("Liu")  //Liu
disp(["Liu","De","Hua"])  
// Liu 
   De
   Hua
3.4 接口

接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法应该都是抽象的,需要具体的类去实现

interface IPerson {
   
  firstName:string,
  lastName: string,
  sayHi: () => string
}

var customer:IPerson = {
   
  firstName: "Li",
  lastName: "Yu",
  sayHi: ():string => {
   return "Hi"}
}
console.log(customer.firstName) // "Li"
console.log(customer.lastName)  // "Yu"
console.log(customer.sayHi())   // "Hi"