热门前端工具链宣布放弃 TypeScript!

前端工具链Turbo宣布在8.0版本停止使用TypeScript,因其增加编译复杂性和配置需求。TypeScript的类型系统虽有优点,但限制了代码灵活性。开发者可根据项目需求选择JavaScript或TypeScript,兼顾自由度和严谨性。
摘要由CSDN通过智能技术生成

近日,前端工具链 Turbo 宣布将在 8.0 版本放弃 TypeScript。三个月前,
前端框架 Svelte 宣布将在 4.0 版本从 TypeScript 切换到使用 JSDoc 的 JavaScript。如今,又一大前端工具 Turbo 宣布放弃 TypeScript。TypeScript 究竟存在哪些问题,让这些工具都宣布放弃使用?

图片

 

Turbo 是用于前端开发的下一代工具链,用 Rust 编写。它由 3 个主要部分组成:

  • Turbopack[1]:增量构建工具(Webpack 的后继者,比 Webpack 快 700 倍)

  • Turborepo[2]:增量构建系统

  • Turbo 引擎:低级增量计算和记忆引擎

从各方面来看,TypeScript 对微软来说都取得了巨大的成功。但对于 Trobo 来说,TypeScript只是增加了不必要的麻烦。首先,使用TypeScript需要进行额外的编译步骤,而且需要配置设置。其次,TypeScript在代码中引入了类型操作,这可能使得代码显得复杂和冗长。有时候,本应该简单的事情因为类型相关的限制变得困难,而有些复杂的问题则不得不使用any类型来规避类型检查。

JavaScript 和 TypeScript 之间的兼容性是它们的特殊魔力。TypeScript 团队意识到无法完全替代 JavaScript,因此他们努力实现了完全兼容。这意味着即使不使用TypeScript,仍然可以使用 JavaScript 编写代码,并且能够使用用TypeScript编写的库。这种自由组合的能力非常强大。这种兼容性非常有必要。

尽管在服务端的使用不如其他语言普遍,但在客户端(例如浏览器)中,JavaScript 是必不可少的。虽然可以将其他语言编译成JavaScript来在浏览器中运行,但最终还是需要用JavaScript来实际执行代码。因此,在这种情况下,能够自由、无需任何工具和强类型约束地编写JavaScript代码是一种非常方便的事情。

因此,即使 Turbo 放弃 TypeScript,也不会影响我们在使用 Turbo 的项目中编写 TypeScript。

如果你对类型约束不感兴趣,或者希望以更自由的方式编写代码,那么JavaScript可能更适合你。你可以更轻松地学习和使用JavaScript,而无需担心类型错误或繁琐的类型声明。然而,如果追求代码的严谨性和可靠性,并且喜欢在开发过程中获得更多的工具支持和类型检查,那么 TypeScript 可能是更好的选择。

就像 Dan 所说的:

图片

TypeScript 是一种由微软开发的开源编程语言,它建立在 JavaScript 的基础上,并添加了静态类型检查、类、接口以及更多的高级特性。以下是 TypeScript 的几个关键特点: ### 静态类型系统 相比于纯 JavaScript 中隐式的类型推断,TypeScript 强制开发者明确指定变量、函数参数和返回值的类型,这有助于提前发现潜在的类型错误,提高代码质量和维护性。 ### 类和继承 TypeScript 支持传统面向对象编程的核心概念,包括类、构造函数、继承、封装和多态。你可以定义类并创建实例,通过继承机制复用代码,实现方法和属性的共享。 ### 接口 接口用于描述对象的结构,规定了对象应该包含哪些属性和方法。虽然 JavaScript 使用原型来实现属性和方法的访问,但在 TypeScript 中,接口可以更清晰地表示数据结构的预期形态。 ### 动态类型与可选参数 尽管 TypeScript 是静态类型的,但它允许你在运行时动态判断类型,比如使用 `instanceof` 检查对象是否属于某个类型。同时,可选参数允许你在调用函数时省略某些位置参数。 ### 流程控制和循环 TypeScript 支持所有标准的流程控制结构(如 if、else、switch),并且还支持增强 for 循环等现代 JavaScript 特性,使得处理数组和集合变得更加便捷高效。 ### 编译到 JavaScript TypeScript 的核心目的是为了提供更好的开发体验给 JavaScript 开发者。当你编写完 TypeScript 代码后,可以使用 TypeScript 编译器将其转换为纯 JavaScript 文件。这个过程能够保留原有的代码逻辑,同时也包含了类型信息,对于需要优化性能的应用场景尤为重要。 ### 生产力工具和社区生态 得益于其广泛的社区支持和集成的 IDE 和编辑器插件(如 Visual Studio Code、IntelliJ IDEA 等),TypeScript 提供了强大的代码智能提示、自动完成和错误检测功能,大大提高了开发效率。 ### 应用范围广泛 TypeScript 可以应用于各种规模和复杂度的项目,从小型脚本到大型企业级应用,甚至前端单页面应用(SPA)、服务器端渲染、桌面应用程序开发等领域都能见到 TypeScript 的身影。 --- ### 相关问题: 1. TypeScriptJavaScript 有何区别? 2. 如何开始学习和使用 TypeScript? 3. TypeScript 是否支持最新的 ES6+ JavaScript 标准特征?
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值