typescript

75 阅读1分钟

1.5数组类型定义

一般数组类型定义

const numberArr: number[] = [1, 2, 3]
const stringArr: string[] = ["a", "b", "c"]
const undefinedArr: undefined[] = [undefined, undefined]

这些数组都是唯一类型的,如果数组有多种类型,我们应该如何定义

const arr:(number|string)[]=[1,2,'a']

只要加个(),然后在里边加上|就可以了

数组中对象类型的定义

type dog={
    name:string
    age:number
}

const mydog:dog[]=[
    {name:'x',age:1},
    {name:'q',age:2}
]

用type定义类别名会更加方便,对类定义也是可以的

1.6元组的使用和类型约束

元组的基本应用

const a:[string,string,number] = ['h', 'e', 3]

这时候我们就把数组中的每个元素类型的位置给固定住了,这就叫做元组

1.7interface 接口

interface gril{
    age:number
    name:string
}

const mygril:gril ={
    age : 10,
    name :'hhh'
}
console.log(mygril)

类型别名可以直接给类型,比如string,而接口必须代表对象

比如我们的类型别名可以写出下面的代码:

type Girl1 = stirng;

但是接口就不能这样写,它必须代表的是一个对象,也就是说,你初始化girl的时候,必须写出下面的形式.

const girl = {
  name: "哈哈",
  age: 18,
}

接口里的方法


interface gril{
    age:number
    name:string
    [color:string]:any
    say():string
}

const mygril:gril = {
    age:10,
    name:'haha',
    color:'pink',
    say() {
        return 'hello'
    },
}

接口间的继承

interface gril{
    age:number
    name:string
    [color:string]:any
    say():string
}

interface gril2 extends gril{
    work:string
}

const mygril:gril2 = {
    age:10,
    name:'haha',
    color:'pink',
    work:'good study',
    say() {
        return 'hello'
    },
}

1.8类的概念和使用

class dog{
    name='jack'
    bark(){
        return 'wawawa'
    }
}
const mydog  = new dog()
console.log(mydog.bark)

类的继承

class dog{
    name='jack'
    bark(){
        return 'wawawa'
    }
}

class dog2 extends dog{
    color='pink'
}
const mydog  = new dog2()