Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeScript #49

Open
luoway opened this issue Jul 31, 2023 · 0 comments
Open

TypeScript #49

luoway opened this issue Jul 31, 2023 · 0 comments

Comments

@luoway
Copy link
Owner

luoway commented Jul 31, 2023

是什么

TypeScript 是 JavaScript 的 超集 :因此 JS 语法是合法的 TS。语法是指我们编写文本以组成程序的方式。

原则上,TypeScript 绝不 改变 JavaScript 代码的运行时行为。

粗略地说,一旦 TypeScript 的编译器完成了检查代码的工作,它就会擦除类型以生成最终的“已编译”JS代码。

TypeScript 是带有编译时类型检查器的 JavaScript 运行时。

TypeScript 提供了 JavaScript 的所有功能,并在这些功能之上添加了一层: TypeScript 的类型系统。

有什么用

  1. 运行前的 Bug 检查:编译时类型检查,减少低级错误
  2. IDE智能提示:类型系统对编辑器友好,可以展示更多提示信息
  3. 生成文档
  4. 方便有强类型编程语言经验的开发者上手

什么时候用

尽可能用。

但TS存在学习成本,这里收集了170+道挑战题,可见实践中使用TS并不是件容易的事。

JS迁移TS大概会经历以下3步:

  • 在JS中使用TS
    • 扩展脚手架以支持.ts文件编译
  • 在TS中使用JS
    • 兼容未迁移的JS文件
    • 在遇到难以实现的TS类型编写问题时,简单使用any.js文件、//ts-ignore忽略类型检查
  • 完善TS
    • 严格模式
    • 为JS模块补充TS类型

参考文档

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant