50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

TypeScript 1.3 发布: 支持 protected 访问修饰符和元组类型

  • 2014-11-19
  • 本文字数:945 字

    阅读完需:约 3 分钟

Microsoft 已经发布了 TypeScript 1.3 ,而这距离 2.0 路线图的发布仅仅过去了 20 多天,虽然时间很短,但是新版本实现了路线图中提到的全部内容:语言层面支持“protected”访问修饰符以及元组类型,工具方面提供了更好的智能感知能力。

“protected”访问修饰符是开发者高度要求的功能特性,它能够让开发人员在TypeScript 中使用更多的面向对象模式。例如,在下面这段代码中我们通过该修饰符让子类可以使用父类的setElement 方法,但是其他部分的代码却根本不知道该方法的存在。

复制代码
class List<T> {
private contents: T[];
constructor() {
this.contents = [];
}
protected setElement(index: number, item: T) {
this.contents[index] = item;
}
}
class Stack<T> extends List<T> {
currentIndex: number;
constructor() {
super();
this.currentIndex = 0;
}
public push(item: T) {
this.setElement(this.currentIndex, item);
this.currentIndex++;
}
}
var stack = new Stack<number>();
stack.setElement(0, 1); // error 'setElement' is protected and only visible to subclasses

元组类型是语言层面的另一个特性,它能够让我们扩展现有的类型系统从而使用即将发布的 ECMAScript 6 标准中包含的各种模式。通过元组类型,我们可以准确地描述混合类型数组中数据的类型,例如下面这个例子:

复制代码
var tuple: [number, string] = [1, "bob"];
var secondElement = tuple[1];  // secondElement now has type 'string'

在工具层面,TypeScript 1.3 基于 Roslyn 构建了一个新的 Visual Studio 2015 语言服务,借助于该服务用户能够更快、更精确地找到所有的引用;可以像 C#那样使用“回车”或者“Tab”键从完成列表中提交选择。另外,新版本还增强了大纲和着色功能,并提升了 rename 的精度,为了更好地支持函数式编程风格,编辑器还改进了嵌套函数的处理机制。

TypeScript 1.3 已经内置到了 Visual Studio 2015 预览版中,但是如果你使用的是 Visual Studio 2013,那么可以通过工具安装 NPM 以及代码三种途径获取。


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-11-19 04:141917
用户头像

发布了 321 篇内容, 共 132.6 次阅读, 收获喜欢 19 次。

关注

评论

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

银行业运维指标体系建设实战

云智慧AIOps社区

智能运维

58集团 x StarRocks:全面升级数据分析能力,满足多场景业务分析需求

StarRocks

数据库 数据分析 OLAP 58同城 StarRocks

网络攻防学习笔记 Day52

穿过生命散发芬芳

网络攻防 6月日更

云开发是啥?看看它在编程导航项目的实践

程序员鱼皮

Java JavaScript 大前端 后端 云开发

如何用视频云技术,搞一个爆红的 “反应视频” 项目?

阿里云CloudImagine

阿里云 RTC 英特尔 视频处理 视频制作

什么是OneData?阿里数据中台实施方法论解读

云祁

数据中台 数据仓库 OneData 维度建模

领域驱动设计101 - 领域服务

luojiahu

领域驱动设计 DDD

RestTemplate打印日志的正确姿势

编号94530

spring 日志 log RestTemplate

Kubernetes手记(19)- 容器资源限制

雪雷

k8s 6月日更

常见Java容器对比

wzh

Java collection hashmap set map

线性排序

wzh

Java 排序算法 计数排序 基数排序 桶排序

北京多部门联合整治违规应用:过度收集用户信息该重罚

石头IT视角

☕【JVM技术探索】深入分析各种锁(锁膨胀)运作流程

码界西柚

JVM 锁升级 6月日更 锁分析

推荐算法概述(十五)

Databri_AI

算法 倒排索引 推荐系统

Reactive Spring实战 -- 响应式Kafka交互

binecy

kafka spring

ARTS - 日常打卡 6

pjw

数组与链表

wzh

Java 数组 链表 ArrayList 数据结构与算法

微信小程序开发(七)—— 版本管理的使用

空城机

微信小程序 大前端 6月日更

业务架构训练营第 0 期模块五作业

菠萝吹雪—Code

架构实战营

机器数及特点

若尘

计算机组成原理 6月日更

微服务架构下的静态数据通用缓存机制

xcbeyond

缓存 微服务 6月日更

【21-15】PowerShell条件判断

耳东@Erdong

PowerShell 6月日更

小红书 x StarRocks:实现数据服务平台统一化,简化数据链路,提升高并发极速查询能力

StarRocks

数据库 数据分析 广告系统 小红书 StarRocks

批量把Excel数据自动录入系统

木头

自动录入 批量录入 自动填表

Redis入门四:数据持久化

打工人!

redis redis持久化 6月日更

5分钟速读之Rust权威指南(二十七)Rc<T>

wzx

rust

基于jira的需求交付效率统计

好孩子

Jira

JavaScript 数组操作必须熟练运用的 10 个方法

devpoint

JavaScript array reduce 6月日更

十年一剑智能眼镜的中场战事

脑极体

HashMap源码总结

wzh

Java map 数据结构与算法 HashMap底层原理 散列表

LinkedHashMap

wzh

Java 集合 LRU 数据结构与算法 LinkedHashMap

TypeScript 1.3发布:支持protected访问修饰符和元组类型_语言 & 开发_孙镜涛_InfoQ精选文章