1、TS的数据类型
//1、简单数据类型
boolean number string array null undefined
//2、多出来的类型
1)tuple(元组类型):let arr[number,string] = [11,'string']
2)enum类型(枚举类型)
enmu color {
red,
yellow
}
console.log(color.red) // 1 输出的是地址 且从 1 开始
console.log(color[1]) // red 输出的是内容
3)any为任意类型:let arr:any[] = [1,'string',true] //都是可以的
//3、特别类型
1、void:用于方法中,表定义的方法没有返回值
function getName():void{} //可以不进行return 只用于赋值和打印
2、undefined:类型没有多大意义 var a:undefined = undefined
3、null:也没有多大意义 var b:null = null
2、基本类型的使用方法
let flag:boolean = true
let numbers:number = 1
......
3、函数中的使用
1、不带参的函数
function getName(){
return 1
}
function getName():number{ // 写的什么类型 就返回什么
return 1
}
2、带参的函数
//知道的数据类型
function getName(name:string,age:number){
return name + ' - ' + age
}
//不知道的数据类型 或 多个数据类型
function getName(name:string|number){
return 1
}
//彻底无法判断的数据类型
function getName(name:any){ //什么数据类型都行
return [22222,1111]
}
//可传入 可 不传入的参数
function getName(name:string,age?:number){ //这个 age这实例化方法时可加可不加getName(‘quxiaokang’)
return name + '-' + age
}
3、没有返回值的函数
function getName (name:string):void{
console.log(name)
}
4、接口的使用
1、定义接口对参数进行约束
interface userinfo{
username:string,
age:number,
sex?:string //可有可无
address:string | number //打个比喻 就是 多种类型
}
// 实现参数的约束
const user:userinfo = {
username:'屈小康',
age:15,
sex:'男' //可写可不写
address:'河南'
}
2、接口的继承
interface userinfo1 {
name:string
}
interface userinfo2 extends userinfo1 {
age:number
}
const user:userinfo2 = {
naem:'屈小康',
age:15
}
5、类的使用
1、没有继承接口的类(简单的类)
1、不带函数的类
class Person {
name:string,
age:number,
constructor(name:string,age:number){
this.name = name
this.age = age
}
}
var person = new Person('屈小康',15)
console.log(person.name) // 屈小康
2、带函数的类
class Person {
name:string,
age:number,
constructor(name:string,age:number){
this.name = name
this.age = age
}
getName(){
return this.name
}
}
var person = new Person('屈小康',15)
console.log(person.getname())
3、类的继承
class Person2 extends Person{
address:string
constructor(name:string,age:number){
super(name , age)
}
sayHi(){
console.log('继承了哈 我是 Person2的内容')
}
getAge(){
return this.age
}
getName(){
super.getName()
}
}
var person = new Person2('屈小康',15)
console.log(person.getAge())
perosn.sayHi()
person.getName() //调用的是 super.getName() 也就是父类的getName
再往后还有静态属性 私有属性 之类的 还有 抽象方法和抽象类 。可能因为我比较菜,用的几乎微乎其微,也称没有用过…
附加我的学习进阶:
初级阶段学习
添加vue学习
项目实战学习
看完这三 就可以了。