TypeScript 初学总结

1、声明:

let : 区块定义,解决var 声明中带来的作用域混淆问题

const : 声明常量,不可改变

2、类型: 

数字: number

布尔: boolean

字符串: string

数组: array

元组: tupple  是一个特殊的数组,是固定长度,固定类型的数组,声明元组的时候一定要指明类型,(bug: 使用push() 可以突破元组的界限,无限给元组添加长度

联合union :表示取值可以为多种类型中的一种。

     例:let myFoavorite:string | number;

字面量:literal 

枚举: enum 

任意: any

unknow: (不保证类型,但能保证类型安全)

viod: 函数在没有任何返回的情况,就是一个viod类型

undefined : 未经初始化的值

never : 大部分用来处理异常

类型适配: <> 或者 as 

3、函数类型

函数定义:

function add(arg1: number, arg2: number): number { return x + y; }

const add = (arg1: number, arg2: number): number => { return x + y; }

函数定义可选参数:可选参数只需在参数名后跟随一个?即可

function add(arg1: number, arg2?: number): number { return x + y; }

const add = (arg1: number, arg2?: number): number => { return x + y; }

注意: 可选参数必须放在必选参数后面

默认参数:

const counter = (step = 1) => { count += step; };

剩余参数

const handleData = (arg1: number, ...args:number[]) => { console.log(args); };

handleData(1, 2, 3, 4, 5); // [ 2, 3, 4, 5 ]

4、对象类型 

(以{}包括起来,用键值对的形式显示)

const person= {

   name: "张三",

  lastName: "刘",

   age: 18

}

  • ts中调用没有定义的属性,会报错。js不会
  • ts对象中的属性会自动匹配类型。不可改变  

5、interface 接口类型  使用接口(Interfaces)来定义对象的类型。

 例: 

interface Person {
  name: string,
  age: number,
  gender?: string | number // 用 ? 表示可有可无的属性
}

   TS 接口 interface | 代码干燥计划

6、Class 类

   

你可能感兴趣的:(typescript,javascript,前端)