系统学习 TypeScript 之一认识 TypeScript

开发 前端
TypeScript 很流行,这是前端从业者众所周知的事。TypeScript 很好用,仁者见仁智者见智。但是,很多大型前端框架都使用 TypeScript 进行了重构。

前言

TypeScript 很流行,这是前端从业者众所周知的事。

TypeScript 的概念及意义

TypeScript 是由微软开发的自由和开源的编程语言。通过在 JavaScript的 基础上添加静态类型定义构建而成。TypeScript 通过 TypeScript 编译器或 Babel 转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。

  • TypeScript 是添加了类型系统的 JavaScript,适用于任何规模的项目。
  • TypeScript 是一门静态类型、弱类型的语言。
  • TypeScript 是完全兼容 JavaScript 的,它不会修改 JavaScript 运行时的特性。
  • TypeScript 可以编译为 JavaScript,然后运行在浏览器、Node.js 等任何能运行 JavaScript 的环境中。
  • TypeScript 拥有很多编译选项,类型检查的严格程度由你决定。
  • TypeScript 可以和 JavaScript 共存,这意味着 JavaScript 项目能够渐进式的迁移到 TypeScript。
  • TypeScript 增强了编辑器(IDE)的功能,提供了代码补全、接口提示、跳转到定义、代码重构等能力。
  • TypeScript 拥有活跃的社区,大多数常用的第三方库都提供了类型声明。
  • TypeScript 与标准同步发展,符合最新的 ECMAScript 标准(stage 3)
  • TypeScript 可以编译出纯净、 简洁的 JavaScript 代码,并且可以运行在任何浏览器上、Node.js 环境中和任何支持 ECMAScript 3(或更高版本)的 JavaScript 引擎中。
  • TypeScript 有更多的规则和类型限制,代码具有更高的预测性、可控性,易于维护和调试;对模块、命名空间和面向对象的支持,更容易组织代码开发大型复杂程序。
  • TypeScript 的编译步骤可以捕获运行之前的错误。

TypeScript 的主要特征

从上面的概念和意义部分可以看出,TypeScript 的特征比较多,这里我们就几个主要特性进行分析。

TypeScript 是静态类型

我们都知道,JavaScript是一门解释型语言,没有编译阶段,它只有在运行时才会进行类型检查。

而 TypeScript 与它相反,因为 TypeScript 在运行前还要经过被编译成 JavaScript 的过程,它在编译阶段就就能确定每个变量的类型,这种语言的类型错误往往会导致语法错误。

比如,在 JavaScript 中:

let foo = 1;
foo.split(' ');
// Uncaught TypeError: foo.split is not a function
// 运行时会报错(foo.split 不是一个函数),造成线上 bug

而在 TypeScript 中:

let foo = 1;
foo.split(' ');
// Property 'split' does not exist on type 'number'.
// 编译时会报错(数字没有 split 方法),无法通过编译

TypeScript 是弱类型

在这一点上,TypeScript 和 JavaScript 的表现是一致的,具体是指数据类型可以发生隐式转换 ,看以下一段代码:

console.log("1" + 1);
// // 打印出字符串 '11'

不管是在 TypeScript 中还是 JavaScript 中,输出结果都是一样的。

全局安装 TypeScript

npm install -g typescript

总结

今天就主要认识一下 TypeScript,知道它是什么、有什么用,接下来就要学习它该怎么样了。


责任编辑:武晓燕 来源: 编程三昧
相关推荐

2022-02-23 08:50:37

MySQL

2021-08-26 11:34:48

TypeScriptUtilityTypes

2020-09-17 07:08:04

TypescriptVue3前端

2021-08-04 09:32:05

Typescript 技巧Partial

2022-02-21 16:11:16

TypeScript构造函数

2016-10-11 13:32:50

函数式TypeScriptJavascript

2022-09-30 08:31:06

TypeScriptJavaScrip

2021-08-02 06:56:19

TypeScript编程语言编译器

2021-07-10 09:02:42

编程语言 TypeScript

2016-09-30 09:43:17

JavascriptTypeScript函数式编程

2024-02-26 00:00:00

TypeScript装饰器decorators

2023-07-02 11:14:21

工具TypeScript框架

2021-01-06 14:42:09

前端Typescript代码

2019-11-25 15:44:13

TS数据JavaScrip

2020-04-08 17:53:40

TypeScriptJavaScript代码

2023-03-17 07:05:41

TypeScriptJSDoc 功能

2010-03-25 10:36:58

CentOS Samb

2020-09-08 18:37:49

TypeScript开发前端

2009-12-16 18:02:48

Linux UNIX系

2015-07-10 13:12:50

AndroidGUI学习Gralloc
点赞
收藏

51CTO技术栈公众号