0
点赞
收藏
分享

微信扫一扫

typescript系列 --- 常用技能点之我见

kmoon_b426 2022-01-07 阅读 20

1, 特点:
        a: 面向对象的编程(oop), 封装, 集成和多肽, 比如说类/接口和模块
        b: 嵌入es6的新特性, 提升代码的简洁性及可读性
        c: 跨平台, 支持window/macOs/linux
2, 优势:
        a: 可读性强,复用性高,语法混乱较js更少
        b: 调试更便捷,因为是在代码编译之前就会报出相应的错误
        c: 跨平台
3, 接口:  interface关键字, 常用于定义变量或者函数参数及返回值校验   

4, 类:  相关对象的属性/方法的集合,可以用继承和实现. 关键字有public. private. protected
        a: public: 在类里边/子类中/类外边(实例化)进行访问
        b: private: 在类里边/子类中进行访问
        c: protected: 在类里边进行访问
        d: 类也可以当作接口使用, 引用官方文档的一句话就是: 类定义会创建两个东西, 类的实例类型和一个构造函数。 因为类可以创建出类型,所以你能够在允许使用接口的地方使用类。
       
5, 接口和类的关系:
        a: 接口可以继承接口, 接口可以继承类
        b: 类可以继承类, 但是不能继承接口
        c: 类可以实现接口, 类可以实现类
        d: 接口不可以实现接口,也不能实现类
        
         

6, 模块: 变量. 函数. 类. 接口的集合

7, 命名空间: 关键字namespace, 为避免项目过程中, 类. 接口或者方法名相互冲突或者被相似的名称所迷惑,或者文件中的方法存在依赖关系的时候文件过大,导致项目可读性降低,代码质量下降所产而产生
    基本语法: (第二种会更常用一些, 类似于module)
     namespace Name {
        export class Http {}
     } 或者
     export namespace Name {
        export class Http()
        export function getData() {}
     }
        
     * **: namespace下还有exportexport在这里用来表示哪些功能是能够外部访问的
     第一种:

    第二种: (更常用) 

    ** 文件太大,而需要做多分离处理, 可以参考ts官方文档-namespace多文件分离

8: 类型断言 as, 及mixin
        类型断言对运行时没有影响,仅由编译器使用。Mixin 本质上是在相反方向上工作的继承 (下一篇文章单独抽离出来讲解) 

9: 子类调用基类构造函数, 关键字super使用
     

10: Ts中的getter/setter:
      根据需要委派对私有变量的不同级别的访问。Getters 允许你引用一个值但不能编辑它。Setter 允许你更改变量的值,但不能查看其当前值

 11: Ts中的重载:
        两个名称相同但参数/返回类型不同的函数, 两个函数必须接受相同数量的参数(ts多态的一种),在调用时,会根据参数及返回类型的不同,而执行对应的函数内容.

 12: 装饰器:
        通过在不同位置使用@符号+装饰器名称(类似函数), 来更改相对应的状态(目前处于实验性阶段-将来可能会改变,谨慎使用, 后面会单独抽出来进行讲解)

纯属个人编辑, 如有不够严谨的地方,还望指正包涵,谢谢

举报

相关推荐

0 条评论