1. Ts基础使用
let a: number = 100
a = 200
console.log(a + 100)
2. Ts的一些语法规范
- 在ts书写变量时如果不手动指定类型,会根据你初始赋值来推断出变量的类型并指明,但是在ts书写时不能让其他开发者一眼看出来类型,不推荐
3. Ts中的接口
interface IObj {
name: string
age: number
}
const obj:IObj = {
name:'QF001',
age:18
}
4. 数组类型
const arr1:number[] = [1,2,3]
const arr2:string[] = ['1','2','3']
const arr3:boolean[] = [true,false]
const arr4:(number|string)[] = [1,2,'3','4']
const arr5:Array<string> = ['1','2','3']
const arr6:Array<number> = [1,2,3]
const arr7:Array<number|string|boolean> = [1,'2',false]
const arr8:{
name:string,
age:number
}[] = [{
name:'qf001',
age:18
},{
name:'qf001',
age:18
}]
interface IArr9 {
name:string,
age:number
}
const arr9:IArr9[] = [{
name:'qf001',
age:18
},{
name:'qf001',
age:18
}]
const arr9_1:Array<IArr9> = [{
name:'qf001',
age:18
},{
name:'qf001',
age:18
}]
5. type
let dir = 'up'
dir = 'down'
dir = 'left'
dir = 'right'
type TDir = 'up' | 'down' | 'left' | 'right'
let dir1:TDir = 'up'
interface IObj {
age:number,
name:string
}
let obj:IObj = {
age:18,
name:'qf001'
}
type TObj1 = {
age:number,
name:string
}
let obj1:TObj1 = {
age:28
name:'qf002'
}
6. 函数
function fn1 () :number{
return 1
}
function fn2 (a:number,b:number) :number{
return (a + b)
}
const fn3:(a: number, b: number) => number= function (a:number,b:number) :number{
return (a + b)
}
7. 泛型
function createArr<T>(length:number,val:T) : T[]{
const arr:T[] = []
for(let num = 0 ; num < length ; num++){
arr.push(val)
}
return arr
}
const a1:number[] = createArr<number>(5,10086)
interface IInfo {
name:string
}
const a2:IInfo[] = createArr<IInfo>(5,{name:'张三'})
createArr<IInfo>(5,{name:'张三'})
8. 枚举
enum EDir {
Up = 'Up',
Down = 'Down',
Left = 'Left',
Right = 'Right'
}
const d1:EDir = EDir.Up
enum EState {
a: 1,
b,
c,
d,
f
}
console.log(EState.f)
9. 合并接口
interface IObj1 {
name:string,
age:number
}
interface IObj1 {
value:number,
age:number
key?:string
}
const obj1:IObj1 = {
name:'张三',
age:18,
value:10086
key:'dsakjdlasd'
}