ts二刷

/**

  • ts-微软开发包含js(最终变异为js)的扩展语言(js的超集)适合大型项目开发
  • 数据类型、逻辑漏洞、低级书写错误、属性访问漏洞
  • 静态类型检查(运行前检查)
    /
    /
    *
  • tsc --init ----------tsc --watch
  • npm i typescript -g tsc xxx.ts
  • /
    /
    *
  • 类型大小写区别 小写是基元 大写则是对象(主要是针对string、number、boolean这三种常用的)
  • 类型推断
  • 关于未知类型:if判断 或者 强转换as
  • any unknown(未知类型) never(不能有值包括undefined "" null等) void(函数无返回值,返回结果不受调用影响接受undefined,void包含undefined) tuple enum
  • type interface
  • 类型不能使用object和Object 因为太广泛了 并且 object很广泛 Object更广泛(含包装类) 但是null和undefined不行
    /
    /
    *
  • 索引签名 对象 [key:string] : any
  • 数组两种形式 string[] Array
  • 元组写法 [number,...string[]]数组第一数字后可以跟任意个字符串
  • 枚举:一组命名的常量 enum 大写名字{} --
  • --数字枚举(从0开始索引自动递增可以反向赋值)
  • --文字枚举赋值字符串
  • 枚举小技巧 使用 const enum Dirct {up,down,left,right} 加一个const的意义在编译js后大大提高开发代码阅读性
    /
    /
    *
  • 联合类型 |
  • 交叉类型 & 一般为{xxx,xxxx}
    /
    /
    *
  • 名字首字母大写
  • type 名字 = 类型
  • interface 名字 {}
    /
    /
    *
  • 如果在定义函数同时就赋予类型void可以实现
  • 但是如果在type声明类型后函数定义类型void就无法生效
    /
    /
    *
  • 类内部 子类 外部
  • public
  • protected
  • private
  • readonly
  • class的修饰符不可以省略哦
    /
    /
    *
  • 抽象类,可以被继承 不能实例化 有普通方法也有抽象方法
  • abstract抽象方法也不能调用但是核心是 继承
  • 通用接口
  • 基础实现
  • 关键实现
  • 共享代码逻辑
  • 与interface的区别
  • 都能实现对类的格式定义
  • interface只能描述结构,但是抽象类有具体方法和抽象方法
    /
    /
    *
  • 关于类添加类型 使用implements实现接口
  • 对象用冒号 函数一样
  • 类 、 对象 、 函数、 接口之间 使用和继承
  • 接口有合并的定义 同一个接口会自动合并
    /
    /
    *
  • type和interface的区别
  • 相同点都能实现对象的类型定义
  • 不同点interface更注重类、对象结构的继承合并,type支持联合交叉类型声明,但是不能实现继承和类型合并
    /
    /
    *
  • 泛型:未指定的类型在使用的时候才会明确类型

/
/
*

  • Object.seal方法封锁
    /
    /
    *
  • type CustomConsta = new (...argus:any[]) => {}
    /
    /
    *
  • 装饰器工厂由上到下
  • 装饰器由下到上
    */
posted @   jialiangzai  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2024-01-11 之前使用抖音的担保支付,后俩转换成通用的交易方式

喜欢请打赏

扫描二维码打赏

微信打赏

点击右上角即可分享
微信分享提示