`

TypeScript 看见未来的 JavaScript

阅读更多

TypeScript也可以看作是“更好的JavaScript”,TypeScript充分利用了JavaScript原有的对象模型并在此基础上做了扩充,添加了较为严格的类型检查机制,添加了模块支持和API导出的能力。比起JavaScript,TypeScript提供了更多在语言层面上的支持,使得程序员能够以更加标准化的语法来表达语义上的约束,从而降低了程序出错的机率;TypeScript也使得代码组织和复用变得更加有序,使得开发大型Web应用有了一套标准方法。

下面是完成同样功能的两段简单代码。

TypeScript Code:

class Greeter {
    greeting: string;
    constructor (message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

JavaScript Code:

var Greeter = (function () {
    function Greeter(message) {
        this.greeting = message;
    }
    Greeter.prototype.greet = function () {
        return "Hello, " + this.greeting;
    };
    return Greeter;
})();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在JavaScript中没有类,只有对象,要实现所谓的“类式操作”(classical operations),如封装、多态等,要通过若干基础设施,如原型、构造函数等来完成。这些对于非常熟悉JavaScript的程序员来说,也许都是可以完成的任务,但对于新手来说就困难重重了。并且,即使是高手,一段时间不写相关的代码也很容易遗忘和出错。但TypeScript却提供了标准的机制,将普通程序员熟悉的、C++和C#中常用的类概念映射到JavaScript中去,这样就大大降低了在JavaScript进行类式操作的难度。

严格ES6(ECMAScript 2015)开始支持类了,但TypeScript现在就可以运行在任何浏览器上、Node.js环境中和任何支持ECMAScript 3(或更高版本)的JavaScript引擎中。所以说TypeScript是JavaScript的未来,是更好的JavaScript

为什么要学习 TypeScript ,实际上 JavaScript 已经够用了,而且像我没学过 TypeScript 也照样开发得很好,我们来看看它的优势:

  • 更多的规则和类型限制,让代码预测性更高、可控性更高,易于维护和调试。
  • 对模块、命名空间和面向对象的支持,更容易组织代码开发大型复杂程序。
  • TypeScript 的编译步骤可以捕获运行之前的错误。
  • Angular 2+ 和 Ionic 2+默认使用 TypeScript(虽然我不会,我也在用。)、

TypeScript 是微软开发和控制的开源项目,我在应用 Anguar 2 + Ionic 2 + 框架开发系统时使用的就是 TypeScript,但我一直把 TypeScript 当作 JavaScript 来用的,甚至是照猫画虎,所以我想正儿八经的学习下 TypeScript,弄明白我糊里糊涂使用的东西,这篇 Chat分享算是我的一个学习笔记,如果你想和我一样,想知道以下内容,请来我的 Chat:

为什么要学习 TypeScript 
TypeScript 的类型有什么不同和用处 
使用 Webpack 搭建学习环境 
深入了解 TypeScript 中的类型

如果你想了解以上类容,欢迎加入TypeScript 快速入门 的Chat

TypeScript快速入门

如何用Python爬取网页制作电子书

原文地址

0
0
分享到:
评论

相关推荐

    Tackling.TypeScript.2020.6.pdf

    通过以上分析,我们可以看到《Tackling TypeScript》这本书涵盖了从理论到实践的各个方面,不仅解释了为什么应该使用TypeScript,还详细介绍了如何使用它来编写高质量的代码。无论是初学者还是有经验的开发者,都能...

    calculoNpsEmpresarial:NPS计算应用程序,使用HandleBars和TypeScript。 在Rocketseat的NLW4的Node.js路径上开发

    在这个项目“calculoNpsEmpresarial”中,我们看到一个NPS计算应用程序,它巧妙地结合了HandleBars模板引擎和TypeScript的优势,为开发人员提供了一个高效且可扩展的解决方案。这个项目是在Rocketseat的NLW4(Next ...

    games.javascript.philos.io:简单的游戏,以正确的方式学习JS !!!

    这不仅可以帮助你理解游戏背后的逻辑,还能让你看到如何用JavaScript(或TypeScript)编写可复用、可维护的代码。 总的来说,`games.javascript.philos.io`是一个优秀的学习工具,它以游戏化的方式让JavaScript学习...

    noteasy-refactoring:使用Typescript-React和Redux进行重构

    在项目"noteasy-refactoring-main"中,我们可以看到整个重构的过程,包括如何逐步将原始的JavaScript代码转换为TypeScript,如何将React组件进行拆分和优化,以及如何引入Redux来改善状态管理。通过阅读和学习这个...

    个人网站文件:个人网站的未部署文件

    总的来说,TypeScript 在个人网站开发中的应用有助于确保代码质量、提升开发体验,并且为未来可能出现的扩展和维护提供了坚实的基础。通过理解并掌握 TypeScript 的特性和使用方法,开发者可以更有效地构建出健壮、...

    天狼星未来的测试工作

    TypeScript是JavaScript的一个超集,这意味着任何有效的JavaScript代码都是合法的TypeScript代码。它的核心特性包括定义接口、类、枚举等,以及类型注解,这些都帮助开发者在编写代码时进行类型检查,避免因类型不...

    deno-x86-64-pc-windows-msvc.zip

    《Deno:JavaScript与TypeScript的安全运行时环境》 Deno,这个名称源自于电影《辛普森一家》中的角色丹·奥尼尔(Dana O'Neill),是Google的Ryan Dahl在2018年推出的JavaScript和TypeScript的运行时环境。它作为...

    ignews

    《ignews:深入探索TypeScript在新闻平台的应用》 在当今的互联网时代,新闻平台的构建需要快速、高效且安全的开发工具和...随着TypeScript在业界的广泛应用,我们有理由相信,未来的新闻平台开发将会更加稳健和先进。

    下一个移动

    未来,我们可能会看到专门为TypeScript移动开发定制的工具和插件,进一步提升开发效率。 3. **性能优化**:TypeScript编译后的JavaScript代码通常比原生JavaScript执行得更快,因为它在编译阶段就处理了很多类型...

    comp2523-w5

    TypeScript,作为JavaScript的一个超集,为开发者提供了静态类型检查、类、模块等更丰富的语法特性,极大地提升了代码质量和开发效率。在"comp2523-w5"项目中,我们可以看到TypeScript的强大之处如何体现在实际开发...

    StefTheArtist:插画家StefTheArtist的网站

    在给定的信息中,我们可以看到一个与艺术家StefTheArtist相关的项目,可能是一个个人网站或者作品展示平台。项目描述提到这个平台是由丹尼尔·洛夫斯基(Daniel Lvovsky)参与制作,暗示了背后可能有技术开发的成分...

    react-ts:用StackBlitz创建:high_voltage:

    在本项目"react-ts:用StackBlitz创建:high_voltage:"中,我们主要探讨如何使用...通过学习和实践这样的项目,开发者可以提升自己在TypeScript、React以及云端开发工具方面的技能,为未来的项目开发打下坚实基础。

    Gifted:点对点采购和购买有需要的人所要求的礼物

    《Gifted:点对点礼品采购平台的 TypeScript 实现》 在当今的互联网时代,点对点(P2P)的商业模式...在未来,随着 TypeScript 社区的持续发展和更多开发者的采用,我们期待看到更多类似 "Gifted" 的优秀项目诞生。

    应用程序

    TypeScript是JavaScript的一个超集,它提供了静态类型系统、接口、泛型等高级特性,以提高代码质量和可维护性。使用TypeScript可以提前发现和避免运行时错误,这对于大型或复杂的项目尤其重要。开发者选择TypeScript...

    dt-money:Prognto criado no curso da Ignite-Rocketseat

    解压这个文件后,我们可能会看到如"src"(源代码)、"dist"(编译后的代码)、"public"(静态资源)等目录,以及"package.json"(项目依赖和配置)、"tsconfig.json"(TypeScript编译配置)等文件。 在"dtMoney...

    web_framework:使用打字稿制作的从零开始的框架

    在"web_framework-main"目录下,我们可能看到如下结构:入口文件(server.ts)、路由定义(routes.ts)、中间件(middleware.ts)、模型(model.ts)和视图(view.ts)等,每个部分都充分利用了TypeScript的特性,确保了项目的...

    weather-app:一个提供城市天气预报的Web应用程序

    TypeScript是JavaScript的一个超集,由微软开发并维护。它引入了静态类型系统,增强了代码的可读性和可维护性,同时兼容ES6以上的语法特性。对于大型Web应用而言,TypeScript的强类型系统能够帮助开发者在编译阶段...

    notion-clone

    TypeScript是JavaScript的一个超集,它引入了静态类型系统,提高了代码的可维护性和可读性。在大型项目中,TypeScript可以有效地防止运行时错误,通过编译时类型检查,确保代码在执行前符合预期。在notion-clone这样...

    lodestar-app

    通过深入剖析Lodestar应用,我们可以看到它巧妙地融合了多租户架构的灵活性和TypeScript的严谨性,为用户提供了高度可定制的解决方案。这不仅减少了开发成本,也为业务的快速迭代和扩展奠定了基础。在未来,随着...

Global site tag (gtag.js) - Google Analytics