Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

dalong25/gitbook-typescript-notes

Repository files navigation

前言

​ 任何一门技术的出现都是为了解决某些问题。为了应对 JavaScript 越来越广泛和复杂的开发需求,这门语言需要更高的健壮性和可维护性。而 ECMAScript 标准在类型检查方面尚无建树,TypeScript 应运而生。它主要用于解决以下场景:

  • 引入其他函数时,无法确定参数类型
  • 为了代码的健壮性,对一个函数的输入参数进行各种假设
  • 优化参数类型时,不知道有多少处引用,联调时报 TypeError 错误

​ 以上问题都是因为 JavaScript 是一门动态弱类型语言。如果长期在没有类型约束的环境下开发,就会造成"类型思维"的缺失,养成不良的编程习惯。这也是做前端开发的短板之一,值得警醒。

​ 开源社区给出的解决方案主要有两种,一是2014年 Facebook 推出的 Flow ,还有一个是微软同年推出的 TypeScript 。它们都致力于为 JavaScript 提供静态类型检查。在市场的考验下,显然TypeScript活得更好。例如 Angular 和 Vue 使用 TypeScript 重构代码,Facebook 自家的 Jest 和 Yarn 都在从 Flow 向 TypeScript 迁移。在 ECMAScript 推出静态类型检查之前,可以说 TypeScript 是当前解决此问题的最佳方案。

什么是TypeScript?

​ 官方对 TypeScript 的定义是:拥有类型系统的 JavaScript 超集,可以编译成纯 JavaScript 语言。它主要有一下三大特点:

  • 类型检查

    TypeScript 在编译时进行严格的静态类型检查,意味着可以在编码阶段发现可能存在的隐患,而不必带到线上。

  • 语言扩展

    TypeScript 会包括ES6及未来提案中的特性,如异步操作和装饰器。也会从其他语言借鉴某些特性,比如接口和抽象类。

  • 工具属性

    TypeScript 可以编译成标准JavaScript,可以在任何浏览器和操作系统上运行,无需运行时的额外开销,从这点讲,TypeScript更像是一个工具,而不是一门独立的语言。

为什么使用TypeScript?

借助 VSCode 的自动补全,导航和重构功能,使得接口定义可以直接代替文档,同时也可以提高开发效率,降低维护成本。

TypeScript 可以帮助重塑"类型思维",接口的提供方将被迫去思考API的边界,他们将从代码的编写者蜕变为代码的设计者。

学习结构

  1. 基础篇

    包括TypeScript的每个特性,它能解决什么问题,与JavaScript的区别在哪里。

  2. 工程篇

    从理论转向实践运用 TypeScript 。

  3. 实战篇

    开发四个典型应用案例,加深对相关概念的理解,从而能够使用 TypeScript 开发实际项目。

你讲全面了解 TypeScript 的核心知识点与应用场景,并在脑中播下思维类型的种子。因为思维方式决定了编程习惯,编程习惯奠定了工程质量,而工程质量划定定了能力边界 。TypeScript 提供的思维方法能够让你在未来的开发中长期受益。

About

极客时间课程《TypeScript开发实战》学习的笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /