限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

TypeScript 1.8 Beta 版新增 JavaScript 集成、无状态函数式组件等功能

  • 2016-02-16
  • 本文字数:983 字

    阅读完需:约 3 分钟

TypeScript 是微软开源的一个 JavaScript 超集。近日, TypeScript 1.8 Beta 版发布,带来了许多新的语言特性和工具增强。

TypeScript 1.8 的编译器现在可以将 JavaScript 同 TypeScript 文件一起编译了。这可能是该版本所带来的影响最大的特性。该特性可以通过命令行标识--allowJS启用,使开发人员可以在 TypeScript 项目中无缝地使用 JavaScript 代码,而不必立即转换所有的 JavaScript 代码,这项可能导致编译错误的任务现在可以按照开发人员喜欢的节奏进行。此外,可以编译 JavaScript 代码意味着可以在 TypeScript 编译中包含第三方库,所以就不需要另外进行打包将它们捆绑到一起。

无状态函数式组件是一种源于 React 项目的理念,TypeScript 1.8 Beta 版也引入了这一特性,其主要的吸引力在于它们是无状态的轻量级组件,很容易组合。下面是一个 TypeScript 无状态函数式组件的例子:

复制代码
let SimpleGreeter = ({name = ‘world‘}) => <div>Hello, {name}</div>;

上述代码同下面的代码等效:

复制代码
interface GreeterProps {
name: string;
}
class Greeter extends React.Component<GreeterProps, {}> {
render() {
return <div>Hello, {this.props.name}</div>;
}
}

无状态函数式组件需要最新版的react.d.ts

TypeScript 1.8 Beta 版还新增对“F- 限定多态( F-bounded polymorphism )”的支持,这使得一个类型参数可以受同一参数列表中的引用类型参数约束。从下面的代码中可以看到,类型T受同一参数列表中的U约束,现在,这在 TypeScript 中也是合法的了:

复制代码
function assign<T extends U, U>(target: T, source: U): T {
for (let id in source) {
target[id] = source[id];
}
return target;
}

控制流分析是 TypeScript 中另一项受人欢迎的特性增强,它有助于捕获一些常见错误,比如不可达代码、未使用标签、隐式返回等等。

TypeScript 1.8 Beta 版还包含许多其他新特性,比如简化的 React props类型管理、字符串常值类型、经过改进的 union/intersection 类型推断等。要了解更多信息,请查看官方公告

上面已经提到, TypeScript 是 JavaScript 的一个严格的超集,它额外增加了静态类型,并支持基于类的面向对象编程。读者可以从 Visual Studio 2015 NuGet npm 获取 TypeScript 1.8 Beta 版。

查看英文原文: TypeScript 1.8 Beta Adds Integration with JavaScript, Stateless Functional Components and More

2016-02-16 18:002203
用户头像

发布了 1008 篇内容, 共 424.3 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

区块链商城APP系统开发|区块链商城软件开发

系统开发

惊艳!阿里自爆用480页讲清楚了44种微服务架构设计模式

996小迁

程序员 面试 微服务 设计模式 架构设计

合约跟单系统开发软件定制

成为分布式系统架构师,都要学哪些东西?该怎么学?

四猿外

Java 程序员 分布式 分布式系统 架构师

数字货币交易所交易平台系统开发

提升awk技能的两个教程【译】

程序员架构进阶

Linux Shell awk

用了这个评估优化LiteOS镜像利器,我有点飘...

华为云开发者联盟

镜像 开发 环境配置

2020中国 .NET开发者大会精彩回顾:葡萄城高性能表格技术解读

葡萄城技术团队

GCExcel 中国 .NET开发者大会 表格技术

腾讯T4架构师:刷3遍以下面试题,你也能从小公司成功跳到大厂

Java架构之路

Java 程序员 架构 面试 编程语言

软件测试之登录测试详解

测试人生路

软件测试

研发团队如何实现无缝协作?

万事ONES

研发管理 团队协作 研发效能 研发工具

号称大厂面试官的克星,“神仙版”Java面试宝典,“真”吊打大厂面试官

Java架构之路

Java 程序员 架构 面试 编程语言

吊!设计模式全解:6大设计原则+23种设计模式+设计模式PK+设计模式混编

Java架构之路

Java 程序员 架构 面试 编程语言

一场由fork引发的超时,让我们重新探讨了Redis的抖动问题

华为云开发者联盟

redis fork 时延抖动

iOS面试基础知识 (四)

iOSer

ios 面试 底层知识

编写令人愉悦的API接口(一)

Geek_42915f

Java 程序设计 API APi设计

区块链矿机系统开发现成案例

学习笔记丨数据结构之二叉查找树

Liuchengz.

数据结构 C/C++ 数据结构与算法 高级数据结构

堪称完美!阿里架构师用60个实战案例讲明白了Spring Boot

Java架构追梦

Java 架构 面试 微服务 springboot

dForce挖矿APP系统开发|dForce挖矿软件开发

系统开发

快递员出售用户信息被判刑:如何防止快递行业信息泄露

石头IT视角

OTC场外交易系统开发软件定制

差点跳起来了!全靠这份“Java核心知识笔记”我成功拿到美团offer

比伯

Java 程序员 架构 计算机 编写

模糊匹配、相似度查询怎么破?看PG亿级检索毫秒响应

PostgreSQLChina

数据库 postgresql 开源

震闻:2021年 微服务 即将被这个取代了!!

Java架构师迁哥

微服务架构太难了?那你可能还没掌握SpringBoot+SpringCloud+Docker+RabbitMQ

Java架构之路

Java 程序员 架构 面试 编程语言

我敢说这是全网最详细的基础讲解,附源码实例,没人学不明白

小Q

Java 学习 架构 面试 基础

AWS云上安全最佳实践

雪雷

安全 AWS 云安全

养猫了!

小林coding

生活

为什么现代系统需要一个新的编程模型?

华为云开发者联盟

编程 模型 语言

波场链智能合约系统定制开发

TypeScript 1.8 Beta版新增JavaScript集成、无状态函数式组件等功能_JavaScript_Sergio De Simone_InfoQ精选文章