写点什么

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:002166
用户头像

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

关注

评论

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

使用mock模拟登录接口数据

与风逐梦

大前端 后端 Mock

高可用 | Xenon 实现 MySQL 高可用架构 部署篇

RadonDB

MySQL 数据库 Xenon RadonDB

模块一作业

陈家豪

架构实战营

云原生多云容器编排平台karmada上手指南

谐云

云原生 开源技术

cocoapods 的主模块如何判断子模块有没有被加载?

fuyoufang

ios swift 8月日更

Spring 配置加载

樊江。

Spring Framework

关于飞书的告警通知,这里有个更好的办法

睿象云

运维 告警 运维平台 智能告警

图数据库在百度汉语中的应用

百度Geek说

数据库 后端

交易所智能炒币机器人开发||量化交易炒币机器人系统搭建

Geek_23f0c3

量化交易机器人系统开发 炒币机器人

干货!4大实验项目,深度解析Tag在可观测性领域的最佳实践!

观测云

可观测性 dataflux tag ngix

通过明道云实现培训机构客户管理

明道云

来!看排名一年上升16位的ClickHouse,如何在京东落地实践

京东科技开发者

数据库 Clickhouse

计算机网络常用知识总结

Java 架构 后端 网络 计算机

👊 【Spring技术原理】异步编程机制以及功能分析讲解

码界西柚

spring springboot 异步编程 8月日更

华为18级工程师三年心血终成趣谈网络协议文档(附大牛讲解)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

微信业务架构 | 架构实战营

樊江。

架构实战营

打开vscode好像打开了原神?vscode原神背景推荐,比博燃

CodeNongXiaoW

vscode vscode背景 原神

模块一作业

当归

关于C++中“不能返回对象引用”的思考

她的男人是程序员

WebRTC中的RefCountedObject解析

她的男人是程序员

如何对接口参数的描述进行集中管理

CodeNongXiaoW

大前端 测试 后端 接口工具

Go- 数组

HelloBug

数组 Go 语言

浅析智慧交通有哪些应用场景?

一只数据鲸鱼

数据可视化 智慧城市 智慧交通 城市交通

阿里资深架构师终于把微服务架构与实践第2版PDF分享出来了

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

TCP协议认知篇

邱学喆

TCP协议 拥塞避免算法 慢启动算法 坚持定时器 TCP状图切换

CERT和CWE之间有什么联系?

鉴释

安全编码规范 cwe cert

Go- 切片的定义

HelloBug

slice Go 语言 切片

Go- 切片的使用

HelloBug

Go 语言 切片 追加 拷贝 扩缩容

阿里巴巴首发:Java核心框架指导手册1小时点击量破千万!

Java 编程 面试 程序人生 Alibaba

如何从内部保障企业数据安全?用IT运维审计系统可以吗?

行云管家

网络安全 数据安全 堡垒机 IT运维 运维审计

量化交易炒币机器人系统搭建

量化系统19942438797

机器人 量化交易

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