前言
努力学习的小鸟,希望每天都能进步一点。
开始学习TS,然后学习VUE3,加油。
TS基础篇
1.number:如果我们要定义一个只存储数字的变量,那么就定义为number类型
let num: number = 10
2.string
let str1: string = '123'
3.null与undefined
let nu: null = null
let un: undefined = undefined
4.any
let an: any = 123
an = '哈哈哈'
an = true
5.组合类型
let a: (number | boolean | string) = 123
a = '123'
6.单一类型数组
let numArr: number[] = [1, 2, 3]
let strArr: string[] = ['a', 'b', 'c', 'd']
let booArr: boolean[] = [true, false]
let boolArr: Array<boolean> = [true, false]
7.组合类型数组
let numStrArr: (number | string)[] = [1, 2, 'a', 'b']
let boolStrArr: Array<boolean | string> = [true, true, 'a']
let arr: [string, number]
arr = ['hello', 2]
8.枚举类型
const sex = ['男', '女']
sex.push('中性')
sex.push('人妖')
enum sex2 { '男', '女' }
enum sex3 { '男' = 5, '女' = 8 }
enum Color { Red = 1, Green, Blue }
let c: Color = Color.Green
9.函数
function sum(a: number, b: number): number {
return a + b
}
10.任意参数函数,如果参数不定,使用ts会进行自动分析,就不再严格要求参数个数
function sum2(...arg:number[]):number{
return arg.reduce(function(sum,v){
return sum +v
},0)
}
11.可选参数函数,该方法如果传一个参数获取值,传两个参数就是设置值
let obj={}
function fn(key:string,val?:any):any{
if(val){
obj[key]=val
}else{
return obj[key]
}
}
fn('a', 10)
fn('b', 'abc')
console.log(fn('b'))
fn('c', {a: 1, b: 2})
12.类
let o = { a: 1 }
o.a = 100
class Dog {
name: string
age: number = 0
constructor(name: string, age: number) {
this.name = '中国' + name
this.age = age
}
}
14.class 实例属性简写
class Dogs {
constructor(public name: string, public age: number) {}
}
let dog: Dogs = new Dogs('中华小狗狗', 20)
console.log(dog);
15.静态成员
class Person {
static maxAge: number = 250
static getTotal() {
return '14亿'
}
}
16.public修饰符
class Persons {
public static color: string = '黄色'
public name: string
constructor(name: string) {
this.name = name
}
}
let fei = new Persons('狒狒')
console.log(fei.name)
console.log(Persons.color)