1、起步
1-1 安装
npm -v //查看是否安装了npm,如果没有,前往node.js官网下载安装npm install -g typescript //全局安装typescripttsc -v //查看typescript版本初始化 生成tsconfig.json文件tsc --init修改js输出目录"outDir": "./js", //取消注释
1-2 vscode运行ts
vscode安装Code Runner插件 右键点击Run Code运行
2、基本类型
2-1 布尔值
let isDone:boolean = false;
2-2 数字
let decLiteral:number = 6;//支持十进制 十六进制let hexLiteral:number = 0xf00d;
2-3 字符串
let name:string = "bob"//模板字符串let name:string = `Gene`;let sentence:string = `Hello,my name is ${name}`
2-4 数组
1.在元素类型后面接上[],表示此类型元素组成的一个数组let list:number[] = [1,2,3]2、使用数组泛型 Array<元素类型>let list:Array<number> = [1,2,3]
2-5 元组 Tuple
元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。比如,你可以定义一对值分别为string和number类型的元组。
let x:[string,number];x = ['hello',10] // OKx = [10, 'hello'] // Error1.可通过索引console.log(x[0],x[1])
2-6 枚举
enum类型是对JavaScript标准数据类型的一个补充。像C#等其他语言一样,使用枚举类型可以为一组数值赋予名字。
enum Color{Red,Green,Blue}let c:Color = Color.Green //1 默认从0开始为元素编号,也可以手动赋值enum Color {Red = 1, Green = 2, Blue = 4}let c: Color = Color.Green; //2//可以由枚举的值得到它的名字enum Color {Red=1,Green,Blue}let colorName:string = Color[2] //Green, 默认值自增
2-7 Any
为那些在编程阶段还不清楚类型的变量指定一个类型
let notSure:any = 4;notSure = "maybe a string instead";notSure = false
2-8 Void
某种程度上来说 ,void类型像是与any类型相反,它表示没有任何类型。当一个函数没有返回值时,你通常会见到其返回值类型是void:
function warnUser():void{console.log("This is my warning message");}
声明void变量只能赋予 undefined 和 null
let unusable:void = undefined;
2-9 Null 和 Undefined
TypeScript里,undefined和null两者各自有自己的类型分别叫做undefined和null。
let u:undefined = undefined;let n:null = null;
2-10 Object
object 表示非原始类型,除number,string,boolean,symbol,null或undefined之外的类型。
使用object 类型,可以表示Object.create这样的API
declare function create(o: object|null): void;create({ prop: 0 }) //okcreate(null) //okcreate(42) //Errorcreate('string') //Errorcreate(false) //Errorcreate(undefined) //Error
2-11 Never
never 类型表示的是那些永不存在的值的类型。例如,never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型;变量也可能是never类型
类型断言 —>类型转换
两种形式,一是”尖括号“语法,另一个是as语法:
let someValue:any = "this is a string";let strLength:number = (<string>someValue).length
let someValue:any = "this is a string";let strLength:number = (someValue as string).length
