跳至主要內容
01-读TypeScript入门教程的感悟
  1. TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持,它由 Microsoft 开发,第一个版本是2012年10月,目前代码开源于 GitHub 上。
  2. ts和js都是弱类型
  3. 类型推论

基础

  1. 原始数据类型,null和undefined和void的区别,null和undefined是任意类型的子类型
  2. 任意值:在任意值上访问属性,调用方法都是允许的,返回的值的类型也是任意值
  3. 类型推论
  4. 联合类型:使用联合类型时,只能访问联合类型里共有的属性和方法
  5. 接口:接口首字母大写,有的编程语言建议接口前加I
    • 可选属性
    • 任意属性:一旦定义了任意属性,确定属性和可选属性都必须是它的子类型
    • 只读属性
  6. 数组类型
    • number[]
    • 数组泛型Array<number>
    • 接口描述数组
    • 类数组:需要使用接口定义
    • any[]
  7. 函数的类型
    • 接口定义函数的形状
    • 可选参数:必须放在参数的最后,有默认参数在时,就不受限
    • 默认参数
    • 剩余参数
    • 重载:为了能够清除表达需求,需要函数定义,最后一次函数实现
  8. 类型断言
    • as Type: 尽量使用as
    • <Type>值
    • 双重断言as any ad Foo : 除非迫不得已,不得使用双重类型断言
  9. 声明文件
    1. 新语法
      • declare var [name] declare let[name] 全局变量 declare const [name] 全局常量,一般会报错
      • declare function 全局方法
      • declare class 全局对类
      • declare enum 全局枚举
      • declare namespace 全局对象 ,对象拥有很深的层级,需要用namespace表明生成属性的类型
      • interface type 全局类型
      • export namespace 导出对象
      • export default 默认导出 function class inerface 写在导出语句的最前边
      • export =commonjs 导出模块 import foo = required('foo').bar
      • export as namespace UMD库
      • declare global 全局变量的UND库
      • declare module 模块插件
      • ///<refernce types='node' /> 三线指令 types是库的依赖,path是文件的依赖
    2. [floder name].d.ts
    3. 第三方声明文件 @types/vue
      • 第三方声明文件搜索官网https://www.typescriptlang.org/dt/search
    4. 书写声明文件
  10. 内置对象
    1. ECMAScript的内置对象:boolean,error,date,regexp
    2. 用ts写node,安装npm install @types/node --save-dev

pinia原创大约 2 分钟读书感悟读书感悟
01-推荐书籍

推荐书籍

  • 《HTML、CSS和JavaScript入门经典(第2版)_朱莉·梅洛尼》
  • 《CSS 权威指南 第4版》
  • 《CSS揭秘》
  • 《HTTP权威指南》
  • 《IP(第五版)_乌尼日其其格》
  • 《JavaScript DOM编程艺术(第2版)(图灵图书)》
  • 《JavaScript高级程序设计(第4版)(图灵图书)_马特·弗里斯比》
  • 《JavaScript权威指南(第七版》
  • 《Node与Express开发》
  • 《你不知道的JavaScript(上中下三卷)》
  • 《深入解析CSS_基思· J·格兰特》
  • 《数据结构_邓俊辉》
  • 《算法导论》
  • 《算法图解》
  • 《图解HTTP》
  • 《我的第一本算法书_石田保辉 宫崎修一》
  • 《学习JavaScript数据结构与算法(第3版)_[巴西] 洛伊安妮 • 格罗纳 [格罗纳, 洛伊安妮 •]》

pinia原创小于 1 分钟读书感悟读书感悟