• TypeScript的函数和类


    一、函数

            定义函数类型:要指定函数参数个数、参数类型和返回值类型。之后指定变量为这个函数类型,此时可以不写函数返回值类型,它会根据返回值自动推断出类型。

            在定义函数类型时,括号中为参数及其类型,多个参数用逗号隔开,括号后使用“=>”指定返回值类型。声明函数时,括号中为参数及其类型,多个参数用逗号隔开,括号后面使用“:”,指定返回值类型。

            定义函数类型除了这种方式,还可以用接口。在前面学过,接口可以描述对象的“形状”,同理也可以描述函数的“形状”。参数有默认参数和可选参数,默认参数直接赋值,可选参数用“?”,可选参数必须写在必选参数后面。

    二、类

            类是现实世界或思维世界中的实体在计算机中的反映,它将数据(属性)以及这些数据上的操作(方法)封装在一起。 面向对象的三大特性:封装、继承、多态。

            1、定义类

            关键字是class,类体中声明类的成员,有字段、构造函数和方法。声明字段时,如果没有初始化,并且也没有在构造函数中也没有赋值,这时就会有报错。所以age提示有错误。声明方法时,有两种方式,一是直接写方法,二是字段式方法。

            2、构造函数(constructor)

            在实例化对象时,构造函数有参数,则要按规定传参,没有参数则不传参。构造函数是用来初始化一些操作以及给对象属性赋值。构造函数中this值为新实例化的对象引用, 常通过"this.字段=值"为新对象的字段赋值。

            3、静态方法

            静态方法是用static修饰的,且只能由类进行访问,实例化后的对象只能访问成员方法。

            4、存取器set和get

            get用于获取变量的值,必须有返回值,set用于对变量进行赋值,必须有一个参数。

            5、继承

            关键字extends,子类继承父类中的属性,一个子类只能有一个父类,一个父类可以有多个子类。子类可以访问从父类直接或间接继承下来的属性。

            6、super

            一个类继承一个父类并且有构造方法,则该子类必须使用super。super必须在this的前面。这是因为用子类实例化对象的过程中,先是创建父类对象,然后在父类对象基础上追加子类成员得到子类对象,然后子类构造函数先执行,子类构造函数中super(<实参>)再调用父类构造函数的执行。

    1. class People {
    2. behavior:string = '睡觉'
    3. age:number
    4. country:string
    5. constructor(type:string,age:number){
    6. this.country= type
    7. this.age = age
    8. }
    9. speak(){
    10. console.log('说话')
    11. }
    12. }
    13. class Chinese extends People{
    14. name:string
    15. constructor(name:string){
    16. super('Chinese',23)
    17. this.name = name
    18. }
    19. }
    20. let chinese = new Chinese('张三')
    21. console.log(chinese)
    22. //Chinese { behavior: '睡觉', country: 'Chinese', age: 23, name: '张三' }

  • 相关阅读:
    前端收藏夹 ,以及他们的github地址:GitHub - w3ctrain/w3ctrain.github.io: w3ctrian前端收藏夹
    【问题记录】如何查找服务器的 cuda 环境变量 TORCH_CUDA_ARCH_LIST
    Debian10 安装mysql
    【STM32】WWDG—窗口看门狗
    字节二面,差点没答好
    java计算机毕业设计基于安卓Android的助农商城APP-农业信息app
    淘宝/天猫api数据接口,获得淘宝商品详情 API 返回值说明
    ROS - launch文件
    第六章 图(上)【图的基本概念和存储】
    mybatis xml 中的常见错误
  • 原文地址:https://blog.csdn.net/gyutdcu/article/details/132626031