首页 > web前端 > js教程 > 正文

从 Javascript 跳转到 Typscript 的概念应该被了解

Barbara Streisand
发布: 2024-11-25 19:24:15
原创
326 人浏览过

Jumping From Javascript To Typscript Concept Should be Known

你真的想学吗?
认真的!
让我们开始吧,

以下是需要注意的概念列表:

1.类型和类型注解

  • 基本类型:了解string、number、boolean、any、void、undefined、null等之间的区别

  • 类型注释:学习如何显式声明类型(例如,让age: number = 30;)。

  • 类型推断:TypeScript 可以从上下文推断类型,但了解何时使用显式类型以及何时依赖推断非常重要。

  • 联合类型:类型可以是多种类型的组合(例如,let value: string | number)。

  • 文字类型:可以是特定值的类型(例如,让方向:'左' | '右';)。

2。接口和类型别名

  • 接口:用于定义对象形状(例如,接口 User { name: string;age: number })。
  • 类型别名:允许您创建自定义类型(例如,类型 ID = 字符串 | 数字;)。
  • 接口和类型的区别:接口是可扩展的,而类型别名更灵活(可以定义基元、并集、交集等)。

3。泛型

  • 泛型函数:可以处理多种类型的函数(例如,函数identity(arg: T): T { return arg; })。
  • 泛型接口/类:将泛型应用于接口和类(例如,interface Box { value: T; })。

4。类型断言和转换

  • 类型断言:告诉 TypeScript 你比它更了解该类型(例如,let value = someValue as string)。
  • 非空断言:使用 !告诉 TypeScript 某个值不为 null 或未定义(例如,someVar!.doSomething())。

5。结构类型(鸭子类型)
在 TypeScript 中,类型是结构化的,这意味着类型是根据其属性而不是名称进行比较的。如果两个类型具有相同的结构,则它们被视为同一类型。

6。枚举

  • 数字和字符串枚举:允许您定义一组命名常量(例如,枚举方向 { Up、Down、Left、Right })。
  • 常量枚举:不需要反向映射时更有效的枚举形式(例如,常量枚举 Color { Red, Green, Blue })。

7。类型缩小

  • 类型保护:使用 typeof、instanceof 或自定义类型谓词来缩小变量的类型范围。
  • 可区分联合:将联合类型与公共属性(鉴别器)相结合以缩小类型范围(例如,type Circle = { kind: "circle"; radius: number };)。

8。高级类型

  • 交叉类型:将多种类型合并为一种(例如,输入 AdminUser = User & Admin;)。
  • 映射类型:允许您转换类型中的属性(例如, type ReadOnly = { readonly [P in keyof T]: T[P]; })。 Utility Types:简化常见类型转换的内置类型,例如 Partial、Pick、Omit、Record 等

9。模块和命名空间

  • ES 模块:TypeScript 支持 ES6 模块语法(例如导入/导出)。了解模块解析以及默认导出和命名导出之间的区别至关重要。
  • 命名空间:TypeScript 也有自己的命名空间系统,但通常不鼓励现代代码库使用 ES 模块。

10。处理 JavaScript 库

  • DefinitelyTyped:了解如何为不提供自己类型的 JavaScript 库安装和使用类型定义(例如,通过 @types/lodash)。
  • 声明第 3 方库的类型:了解在没有可用类型时如何为库或全局对象编写自定义类型声明(*.d.ts 文件)。

11。类和继承

  • TypeScript 类:与 JavaScript 类类似,但具有额外的类型检查。
  • 访问修饰符:public、private、protected关键字控制类成员的可见性。
  • 只读:将属性标记为只读(例如,只读 id: number)。
  • 抽象类和方法:抽象类不能直接实例化,只能进行子类化。

12。异步/等待和 Promise
TypeScript 完全支持 async/await 和 Promises,但添加类型注释可以帮助避免 Promise 或 async function 等类型的问题。

13。装饰器
实验功能:装饰器是一种用于注释或修改类和类成员的特殊语法。在 Angular 等框架中很有用,但在 TypeScript 中仍处于实验阶段。

14。严格的类型检查选项

  • 严格模式:启用更严格的类型检查选项(例如,strictNullChecks、noImplicitAny)。
  • tsconfig.json:了解如何使用此文件配置 TypeScript 以启用或禁用编译器选项。

15。 TypeScript 和 JavaScript 互操作性

  • 使用 JavaScript 代码:TypeScript 与 JavaScript 完全兼容。您可以逐步将 TypeScript 引入到现有的 JavaScript 项目中,并且仍然从 TypeScript 调用 JavaScript,反之亦然。
  • JSDoc 注释:您可以在 JavaScript 中使用 JSDoc 风格的注释向 TypeScript 提供类型信息,这在混合 JS/TS 代码库中非常有用。

16。错误处理
TypeScript 有助于在编译时捕获常见错误,例如访问 null 或未定义的属性。了解如何在 TypeScript 中使用 try/catch 以及正确的类型注释非常重要。

17。 TypeScript 配置 (tsconfig.json)

  • 编译器选项:了解如何配置编译器设置,包括模块解析、严格性设置和目标环境。
  • 源映射:设置源映射以使在浏览器或 Node.js 中调试 TypeScript 变得更容易。

18。实用函数和类型

  • keyof、typeof、instanceof:了解这些实用运算符以及如何使用它们来提取和操作类型。
  • 索引签名:允许您动态定义对象的键和值的类型(例如,[key: string]: any)。

19。条件类型
TypeScript 允许根据条件定义类型(例如 type IsString = T extends string ? true : false;)。

20。 TypeScript 版本控制和兼容性

  • 新功能:保持更新新的 TypeScript 版本,因为它是一种快速发展的语言。模板文字类型、类型谓词和更严格的类型检查等新功能可以改进您的代码。

通过掌握这些 TypeScript 特定的概念,您将能够利用 TypeScript 的全部功能,包括其静态类型系统,与纯 JavaScript 相比,提高代码质量、可维护性和可扩展性。

想了解更多关于我的信息,只需在搜索引擎上写sallbro...

以上是从 Javascript 跳转到 Typscript 的概念应该被了解的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板