1、起步

1-1 安装

  1. npm -v //查看是否安装了npm,如果没有,前往node.js官网下载安装
  2. npm install -g typescript //全局安装typescript
  3. tsc -v //查看typescript版本
  4. 初始化 生成tsconfig.json文件
  5. tsc --init
  6. 修改js输出目录
  7. "outDir": "./js", //取消注释

1-2 vscode运行ts

vscode安装Code Runner插件 右键点击Run Code运行

1646817131(1).png

2、基本类型

2-1 布尔值

  1. let isDone:boolean = false;

2-2 数字

  1. let decLiteral:number = 6;
  2. //支持十进制 十六进制
  3. let hexLiteral:number = 0xf00d;

2-3 字符串

  1. let name:string = "bob"
  2. //模板字符串
  3. let name:string = `Gene`;
  4. let sentence:string = `Hello,my name is ${name}`

2-4 数组

  1. 1.在元素类型后面接上[],表示此类型元素组成的一个数组
  2. let list:number[] = [1,2,3]
  3. 2、使用数组泛型 Array<元素类型>
  4. let list:Array<number> = [1,2,3]

2-5 元组 Tuple

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。比如,你可以定义一对值分别为stringnumber类型的元组。

  1. let x:[string,number];
  2. x = ['hello',10] // OK
  3. x = [10, 'hello'] // Error
  4. 1.可通过索引
  5. console.log(x[0],x[1])

2-6 枚举

enum类型是对JavaScript标准数据类型的一个补充。像C#等其他语言一样,使用枚举类型可以为一组数值赋予名字。

  1. enum Color{Red,Green,Blue}
  2. let c:Color = Color.Green //1 默认从0开始为元素编号,也可以手动赋值
  3. enum Color {Red = 1, Green = 2, Blue = 4}
  4. let c: Color = Color.Green; //2
  5. //可以由枚举的值得到它的名字
  6. enum Color {Red=1,Green,Blue}
  7. let colorName:string = Color[2] //Green, 默认值自增

2-7 Any

为那些在编程阶段还不清楚类型的变量指定一个类型

  1. let notSure:any = 4;
  2. notSure = "maybe a string instead";
  3. notSure = false

2-8 Void

某种程度上来说 ,void类型像是与any类型相反,它表示没有任何类型。当一个函数没有返回值时,你通常会见到其返回值类型是void:

  1. function warnUser():void{
  2. console.log("This is my warning message");
  3. }

声明void变量只能赋予 undefined 和 null
  1. let unusable:void = undefined;

2-9 Null 和 Undefined

TypeScript里,undefined和null两者各自有自己的类型分别叫做undefined和null。

  1. let u:undefined = undefined;
  2. let n:null = null;

2-10 Object

object 表示非原始类型number,string,boolean,symbol,null或undefined之外的类型。
使用object 类型,可以表示Object.create这样的API

  1. declare function create(o: object|null): void;
  2. create({ prop: 0 }) //ok
  3. create(null) //ok
  4. create(42) //Error
  5. create('string') //Error
  6. create(false) //Error
  7. create(undefined) //Error

2-11 Never

never 类型表示的是那些永不存在的值的类型。例如,never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型;变量也可能是never类型

类型断言 —>类型转换

两种形式,一是”尖括号“语法,另一个是as语法:

  1. let someValue:any = "this is a string";
  2. let strLength:number = (<string>someValue).length
  1. let someValue:any = "this is a string";
  2. let strLength:number = (someValue as string).length