什么是TypeScript
目录
一、概述
二、TS的优势
三、TS的缺点
一、概述
TS是微软开发的一门编程语言,是JS的一个超集,代码开源于GitHub。TS主要提供了类型系统和对ES6的支持。TS可以编译成纯JS,编译生成的JS文件可以运行于任何浏览器。TS编译工具可以运行于任何服务器或系统环境中。
二、TS的优势
增加了代码的可读性和可维护性
(1)可以在编译阶段发现大部分错误
(2)增强了编辑器和IDE的功能,包括代码补全、接口提示、跳转到定义、重构等
非常包容
(1)TS是JS的超集,.js文件可以直接命名为.ts文件
(2)JS文件可以不做任何改动的在TS环境中运行
(2)即使不显示的定义类型,也能自动做出类型推论
(3)可以定义从简单到复杂的几乎一切类型
(4)即使TS编译报错,默认也可以生成JS文件
(5)兼容第三方库,即使第三方库不是用TS写的,也可以编写单独的类型文件供TS读取
拥有活跃的社区
(1)大部分第三方库都有提供给TS的类型定义文件
(2)Google开发的 Angular2是使用TS编写的
(3)TS拥抱了ES6规范,也支持部分ESNext草案的规范
三、TS的缺点
(1)需要多写一些类型的定义,短期可能增加开发成本,不过对于一个长期维护的项目,TS可以减少其维护成本
(2)集成到构建流程需要一些工作量
(3)可能和一些库结合的不是很完美
什么是TypeScript相关推荐
- 超简单的react和typescript和引入scss项目搭建流程
1.首先我们先创建一个react项目,react官网也有react项目搭建的命令 npx create-react-app my-app cd my-app 2.安装我们项目需要的样式依赖,这个项目我 ...
- 老码农绝密:使用 TS(TypeScript) 的 10 大理由
最近,小编读了一篇名为<放弃 TypeScript 的 7 个非常好的理由>,这篇文章的阅读量不低.里面有些观点确实有趣,不过在这里我要向你介绍使用 TypeScript 的 10 个理由 ...
- 设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)
Ctrl+Shift+S→编辑器→Code Style→JavaScript或TypeScript→Punctuation 1.每行代码结尾自动加上;分号: Use(下拉框选Use)semiconlo ...
- 为TypeScript项目生成API文档
为TypeScript项目生成文档 使用typedoc为TypeScript项目生成API文档. 1. 使用typedoc生成HTML文档 需要安装 typedoc. npm i typedoc 可以 ...
- TypeScript 1
TypeScript 的由来 TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准. TypeScript 由微软开发的自由和开源的编程语言. TypeSc ...
- TypeScript学习笔记之 接口(Interface)
在java中,接口是用来定义一些规范,使用这些接口,就必须实现接口中的方法,而且接口中的属性必须是常量. javascript中是没有接口的概念的.所以TypeScript在编译成 JavaScrip ...
- c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...
- 如何在React中使用Typescript
TypeScript can be very helpful to React developers. TypeScript对React开发人员可能非常有帮助. In this video, Ben ...
- 使用Typescript的巧妙React上下文技巧-不是Redux
by Bill Girten 比尔·吉尔滕(Bill Girten) 使用Typescript的巧妙React上下文技巧- 不是 Redux (Clever React context tricks ...
- 使用TypeScript映射和条件类型使React组件更出色
by Deepu K Sasidharan 通过Deepu K Sasidharan 使用TypeScript映射和条件类型使React组件更出色 (Make your React component ...
最新文章
- 聊聊jump consistent hash
- Windows内核执行体对象管理器的操作过程与分析
- arcgis python 新建图层组_分享Arcgis中62个常用技巧系列一(前20个技巧)
- 大牛深入浅出讲解C语言#define宏定义应用及使用方法
- canvas-a13prototype.html
- 原来Java大数据才是真正的高富帅!
- http://blog.csdn.net/baidu_31657889/article/details/52315902
- Linux主机性能监测
- 软件过程改进杂谈 00.序
- Java魔法堂:解读基于Type Erasure的泛型
- WPF/Silverlight 控件的几幅继承关系图
- C++ list 基础用法合集;list 增减元素 list删除某一个元素 遍历list
- 【C语言】【笔记】ASCII码值表;常用转义字符表
- php屏蔽中文浏览器,网站屏蔽中文浏览器/英文浏览器方法
- Matlab PCA+SVM人脸识别(二)——GUI界面设计
- 淘宝客升级助手V1.0 等级升级获取高级账户,淘客适用高佣金破解版
- [附源码]java毕业设计疫情防控期间人员档案追寻系统设计与实现论文
- 个税革新,你每年能省多少钱~
- specified sample format s16 is invalid or not supported(linux)
- 案例分享|智慧广电的“宽带加速”之路,博睿数据来“私人定制”
热门文章
- mysql左链sql去重_MySql去重
- Coder fresher 要知道底层么
- MPLS TE Forwarding-adjacency
- 字体图标和变形 transform属性的使用
- topgate镜像_[百度云盘]1678个PS1美版镜像(redump20110912)
- 一个 Gitlab 帐号无法访问文件、克隆项目问题的解决
- usb转并口支持linux,USB转并口;USB转真并口(支持仿真调试加密狗等);USB TO LPT
- HTML 表单元素的基本样式
- html测试身高体重,【 身高体重测试】_如何测试_注意事项-大众养生网
- win10误删IE浏览器文件如何恢复?