1- any 表示的是任意类型,一个变量设置类型为any后相当于对该变量关闭了TS的类型检测 (不建议使用)
var a:any = 10 a="hello world" //变量的值可以被更改
Unknown 未知类型的值 实际上就是一个类型安全的any
Unknown 类型的变量 不能直接赋值给其他变量
2- string
var s:string="hello"
3- number
var n:number = 10
4- boolean
var b:boolean = true
5- array 数组
// var arr:number[] = [1,2]var arr:Array<number> = [1,2,3] //推荐这种//console.log(typeof arr) // object
6- object
var obj:{name:string,age:number}obj:Object={name:"cheng",age:18}
var obj:{name:string,age?:number} //在属性后面加上?,表示属性是可选的obj:Object={name:"cheng",age:18}
[propName:Srting]:any 表示任意类型的属性
var c:{name:String,[propName:Srting]:any}c={name:"cheng",age:18}
7- array-object
var list:Array<object>=[{name:"cheng"}]
8- function
// 声明一个有返回值的函数function go():string{return "hello world"}// 声明没有返回值的函数function show():void{console.log("hello world")}show()
9- 元组
//给数组每一个元素指定一种类型 var s:[string,number] = ["hello",1]; console.log(s);
10- 枚举类型 enum
enum Skills{html,css,js}var j:Skills = Skills.html;console.log(j) // 输出下标值enum Status {success=200,error=404,serverError=500}var success:Status = Status.successconsole.log(success)
11- null - undefined
tips:实际上就是一个类型安全的any
var num = null;num =10 //报错let x: number | null | undefined;x = 1; // 运行正确x = undefined; // 运行正确x = null; // 运行正确
12 | 或 (联合类型)
let b="hello"|"world"b="hello"b="world"b="arr" // 报错let b=boolean:stringb=booleanb=stringb=number /报错
13-void 用来表示为空,以函数为例,就表示没有返回值的函数
function fn():void{console.log(1)}
14-never 表示永远不会返回结果
function fn():void{throw new Error('报错了!')}
