1.TypeScript是什么:
TypeScript 是一种由微软开发的自由和开源的编程语言,它是 JavaScript 的一个超集.而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程;
2.安装TypeScript:
npm install -g typescript
查看版本:tsc -v
3.基础类型
数字: let num: number = 10
字符串: let name:string = '张三'
布尔值: let isShow: boolean = false
数组: let list : number[] = [1,2,3]
元组:
元组类型允许表示一个已知元素数量和类型数组,各元素的类型不必相同,比如:你可以定义一对值分别为string和number类型的元组;
let x : [string,number]
x = ['hello',10] // ok
x = [10,'hello'] // error
枚举:
枚举使用枚举我们可以定义一些带名字的常量,使用枚举可以清晰的表达意图或创建一组有区别的用例;ts支持数字的和基于字符串的枚举;
enum Color {Red,Green,Blue}
ley c : Color = Color.Green
枚举类型提供的一个便利 是你可以由枚举的值得到它的名字,例如我们知道值为2 但是不确定它映射到Color里的哪个名字,我们可以查找响应的名字:
enum Color {Red = 1,Green,Blue}
let colorName:string = Color[2]
console.log(colorName) // Green
any:任意类型
let name: any = 123
name = '123' // 都可
name = true
void:
void它表示没有任何类型,当一个函数没有返回值时,你通常会见到其返回类型是 void
function getuser() : void {
console.log('你好')
}
null和undefined:
ts里undefined和null两者各自有各自的类型分别叫做undefined和null,和void相似,它们的本身的类型用处不是很大
let u : undefined = undefined
let n : null = null
never:
never表示的是那些用不存在的值的类型;
例如:never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型;
never类型是任何类型的子类型,也可以赋值给任何类型,然而没有类型是never的子类型或可以赋值给never类型(除了never本身之外),及时any也不可以赋值给never;
object:
object表示非原始类型,也就是除nunber,string,boolean,symbol,null或undefined之外的类型;
unknown:
就像所有类型都可以赋值给any,所有类型也可以赋值给unkown,这使得unknown成为ts类型系统的另一种顶级类型
let value : unknown
value = true // ok
value = 42 // ok
value = [] // ok
value = null // ok
value = undefined // ok
unknown类型只能被赋值给any类型和unknown类型本身