前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统学习 TypeScript(一)——认识 TypeScript

系统学习 TypeScript(一)——认识 TypeScript

原创
作者头像
编程三昧
发布2022-02-21 18:57:50
3930
发布2022-02-21 18:57:50
举报
文章被收录于专栏:编程三昧编程三昧
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 的编译步骤可以捕获运行之前的错误。

image-20220221182629919
image-20220221182629919

TypeScript 的主要特征

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

TypeScript 是静态类型

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

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

比如,在 JavaScript 中:

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

而在 TypeScript 中:

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

TypeScript 是弱类型

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

代码语言:javascript
复制
console.log("1" + 1);
// // 打印出字符串 '11'

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

全局安装 TypeScript

代码语言:shell
复制
npm install -g typescript

总结

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

~ 本文完,感谢阅读!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • TypeScript 的概念及意义
  • TypeScript 的主要特征
    • TypeScript 是静态类型
      • TypeScript 是弱类型
      • 全局安装 TypeScript
      • 总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档