本文首发在我的个人博客:http://muyunyun.cn/posts/66a54fc2/
文中的案例代码已经上传到 TypeScript

TypeScript 并不是一个完全新的语言, 它是 JavaScript 的超集,为 JavaScript 的生态增加了类型机制,并最终将代码编译为纯粹的 JavaScript 代码。

TypeScript 简介

TypeScript 由 Microsoft(算上 Angular 2 的话加上 Google)开发和维护的一种开源编程语言。 它支持 JavaScript 的所有语法和语义,同时通过作为 ECMAScript 的超集来提供一些额外的功能,如类型检测和更丰富的语法。下图显示了 TypeScript 与 ES5,ES2015,ES2016 之间的关系。

使用 TypeScript 的原因

JavaScript 是一门弱类型语言,变量的数据类型具有动态性,只有执行时才能确定变量的类型,这种后知后觉的认错方法会让开发者成为调试大师,但无益于编程能力的提升,还会降低开发效率。TypeScript 的类型机制可以有效杜绝由变量类型引起的误用问题,而且开发者可以控制对类型的监控程度,是严格限制变量类型还是宽松限制变量类型,都取决于开发者的开发需求。添加类型机制之后,副作用主要有两个:增大了开发人员的学习曲线,增加了设定类型的开发时间。总体而言,这些付出相对于代码的健壮性和可维护性,都是值得的。

此外,类型注释是 TypeScript 的内置功能之一,允许文本编辑器和 IDE 可以对我们的代码执行更好的静态分析。 这意味着我们可以通过自动编译工具的帮助,在编写代码时减少错误,从而提高我们的生产力。

对 TypeScript 的简介到此,接下来对其

作者:牧云云
出处:http://www.cnblogs.com/MuYunyun/"
本文版权归作者和博客园所有,欢迎转载,转载请标明出处。
如果您觉得本篇博文对您有所收获,请点击右下角的 [推荐],谢谢!

从 JavaScript 到 TypeScript相关推荐

  1. 设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)

    Ctrl+Shift+S→编辑器→Code Style→JavaScript或TypeScript→Punctuation 1.每行代码结尾自动加上;分号: Use(下拉框选Use)semiconlo ...

  2. 简单探讨JavaScript 与 TypeScript之间的联系

    这篇文章主要介绍了 JavaScript 与 TypeScript之间的联系,JavaScript,也称为 JS,是一种符合 ECMAScript 规范的编程语言.这是一个高级别的.通常是即时编译的. ...

  3. 从 JavaScript 到 TypeScript 5 - 路由进化

    随着应用的庞大,项目中 JavaScript 的代码也会越来越臃肿,这时候许多 JavaScript 的语言弊端就会愈发明显,而 TypeScript 的出现,就是着力于解决 JavaScript 语 ...

  4. 对比Javascript和TypeScript

    JavaScript 特点: 1. JavaScript是解释性脚本语言,不需要编译,可以直接在浏览器中解释执行 2. 是基于对象的语言,可以创建对象并使用现有对象 3. 是弱类型.动态语言,基于对象 ...

  5. JavaScript 和 typeScript 中的 import、from

    From:https://segmentfault.com/a/1190000018249137?utm_source=tag-newest Github - allowSyntheticDefaul ...

  6. 浏览器解析jsx_简单理解JavaScript,TypeScript和JSX

    原标题:简单理解JavaScript,TypeScript和JSX Java: 基本概念: Java一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为Java引 ...

  7. 从 JavaScript 到 TypeScript 6 - Vue 引入 TypeScript

    随着应用的庞大,项目中 JavaScript 的代码也会越来越臃肿,这时候许多 JavaScript 的语言弊端就会愈发明显,而 TypeScript 的出现,就是着力于解决 JavaScript 语 ...

  8. 从JavaScript到TypeScript,Pt。 IIB:使用类,接口和混合器进行设计

    Class-based design has become such an instinct that many developers can't imagine any alternative. 基 ...

  9. JavaScript 和 TypeScript 交叉口 —— 类型定义文件(*.d.ts)

    在 <从 JavaScript 到 TypeScript 系列> 文章我们已经学习了 TypeScript 相关的知识. TypeScript 的核心在于静态类型,我们在编写 TS 的时候 ...

  10. 用koa开发一套内容管理系统(CMS),支持javascript和typescript双语言

    初衷 lin-cms是我们林间有风团队开源的一款CMS,它采用目前主流的前后端分离的架构,前端使用vue作为基础框架,后端选择了我们团队大量实践使用的flask作为基础框架. lin-cms剪彩 你也 ...

最新文章

  1. Python-logging报错解决:UnicodeEncodeError: 'gbk' codec can't encode character '\u' in position: illegal
  2. Spring component-scan类扫描加载过程
  3. win10系统下“从开始屏幕取消固定”无反应解决方法
  4. Quartz2D简单绘制之不规则形状
  5. hdu 5813 Elegant Construction
  6. rhel 7.2 安装mysql_在rhel7.2下源码安装mysql-5.6.35
  7. 武汉大学信息管理学院java上机考试_java上机试题
  8. 500万相机芯片尺寸_MGS二代系列500万像素新品面世
  9. 【XSY2307】树的难题
  10. linux下使用source执行文件的含义
  11. Acrobat DC安装方法
  12. 穿越机用途和机架尺寸
  13. P2P网络NAT穿透原理(打洞方案)
  14. N76E003红外解码程序
  15. RCWL-0516微波雷达感应开关 人体感应传感器,迷你多普勒雷达
  16. 统信(UOS)虚拟机网络设置
  17. 分层采样(stratified sampling)
  18. linux中expr命令
  19. 计算机组成原理之概述篇(一)
  20. 机器学习之聚类算法——聚类效果评估可视化

热门文章

  1. 判断 list 集合是否含有重复对象
  2. 多容器,Nginx容器灵活切换PHP版本!同时运行多个PHP容器
  3. laravel代码提示:laravel-ide-helper
  4. java运输_JAVA-基础-方法
  5. JavaFX布局中图片在表格中无法被自适应缩小?
  6. mybatis入门基础(四)----输入映射和输出映射
  7. 使用fio测试磁盘I/O性能
  8. 基于Zookeeper实现简易版服务的注册与发现机制
  9. Kafka的高性能原理
  10. Spring事务6连问