写点什么

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

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

关注

评论

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

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

追逐时光者

.net 微软 Visual Studio 2022

知音 CMS:全场景音频与小说分销一体化解决方案

微擎应用市场

Aniyomi扩展开发指南与Google Drive集成方案

qife122

android Aniyomi

极氪汽车×火山引擎:AI数据专家“上岗”,注入“分钟级”数据洞察力

北京中暄互动广告传媒有限公司

俄罗斯合作伙伴 Mobx,用 NocoBase 交付多场景方案

NocoBase

数据库 开源 项目管理 CRM 无代码

基于 Seedream 4.0 模型的多图融合应用开发实战(下)

北京中暄互动广告传媒有限公司

不做“赛博棉花工”!TRAE 帮我实现数据处理自由

北京中暄互动广告传媒有限公司

点量云流核心技术解析:构建高性能数字孪生的三大架构设计

点量实时云渲染

云计算 3D渲染 数字孪生 云渲染 像素流

为什么你的海外红人营销没效果?

Wolink

海外营销推广 海外推广 沃链Wolink 达人营销

开源生态视角下 MyEMS 的能源管理系统国产化实践:架构设计与自主可控路径

开源能源管理系统

开源 开源能源管理系统

0代码,用n8n一键打通微信、钉钉与数据库,效率提升500%

测试人

Apache Doris 与 ClickHouse:运维与开源闭源对比

SelectDB

数据库 数据分析 实时数仓 Clickhouse apache doris

AI 姓氏头像生成小程序管理系统:专属头像定制与流量变现解决方案

微擎应用市场

7个步骤轻松掌握YashanDB的使用技巧

数据库砖家

7个常见问题解答关于YashanDB的误区

数据库砖家

AI 英语写作导师 App的开发

北京木奇移动技术有限公司

AI技术开发 软件外包公司 AI技术应用

7个步骤确保YashanDB数据库的顺利迁移

数据库砖家

如何通过Python SDK在Collection中进行相似性检索

DashVector

人工智能 数据库 AI 大模型

在AI技术快速实现创意的时代,挖掘新需求成为核心竞争力——某知名笔记应用主题需求洞察

qife122

用户体验 需求分析

一文读懂更换域名注册商的步骤和常见问题

防火墙后吃泡面

6个常见误区关于YashanDB的使用与维护

数据库砖家

6个理由为什么选择YashanDB数据库

数据库砖家

鸿蒙应用开发从入门到实战(二十二):使用Stack实现层叠布局

程序员潘Sir

鸿蒙 HarmonyOS

文心快码Comate3.5S更新,用多智能体协同做个健康管理应用

Comate编码助手

AI 编程 文心快码 编程智能体 文心快码3.5S AI编程助手

数加加Edu:开箱即用的全链路AI数据标注实训平台

数据堂

人工智能 数据标注 实训平台 教育实训 数加加Edu

6种实用的方法提升YashanDB数据库的可用性

数据库砖家

7个步骤更好地维护您的YashanDB环境

数据库砖家

扬帆出海:FinClip 驱动中国应用的全球化降本增效实践

xuyinyin

CVE-2023-34367:Windows盲TCP/IP劫持漏洞技术分析

qife122

漏洞挖掘 漏洞利用

【RFID隧道机品牌评测】斯科信息 VS 其他品牌性能对比

斯科信息

斯科信息 RFID隧道机 RFID隧道机品牌

1688图片搜索API详解

tbapi

1688API 1688图片搜索接口 1688拍立淘api

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