写点什么

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

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

关注

评论

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

学生管理系统架构设计文档

deng

架构实战营

HashMap 中的一个“坑”!

王磊

Java hashmap LinkedHashMap

开源项目——FLutter开发录音APP

思想者杰克

开源项目——FLutter/iOS/Android编写的三个计算器APP

思想者杰克

小谈音视频质量检测

声网

人工智能 音视频

大牛呕心力作——Kafka开发实战,助你徜徉大数据时代

redis 程序员 java编程

干货!Spring Cloud微服务架构进阶,你还不了解的都在这里

Java 程序员 架构 微服务 SpringCloud

王者荣耀商城异地多活架构设计

guangbao

pygame 小游戏前的准备工作要做足

梦想橡皮擦

11月日更

端开发技术——解密Flutter响应式布局.md

思想者杰克

开源项目——5种技术编写的7个demo工程

思想者杰克

模块七:王者荣耀商城异地多活架构设计(作业)

紫云

王者荣耀商城异地多活架构设计 - 模块 7

刘琦Logan

架构训练营毕业总结

小卷儿

架构实战营 -毕业总结

思梦乐

极客时间架构实战营模块7作业

jjn0703

架构实战营

算法,从今天开始

ES_her0

11月日更

架构实战营 - 模块七作业

Alex.Wu

04 K8S之生态系统

穿过生命散发芬芳

k8s 11月日更

0 基础架构入门 - 7(王者荣耀商城异地多活架构设计)

felix

架构实战营 0 基础架构入门

linux系列之: 你知道查看文件空间的两种方法吗?

程序那些事

Linux 操作系统 程序那些事 11月日更

开源项目——swift开发记事本APP

思想者杰克

端开发技术——FLutter开发即时通讯

思想者杰克

你管这破玩意叫锁

中间件兴趣圈

高并发 java; 11月日更

架构实现训练营|第7课|作业

Frode

架构实战营

软件工程师的专业素养解读(二)

卢卡多多

职业素养 软件IT专业 11月日更

云知声 Atlas 超算平台: 基于 Fluid + Alluxio 的计算加速实践

阿里巴巴云原生

阿里云 云原生 实践 Fluid Alluxio

杂谈——什么是Google Fuchsia ?

思想者杰克

算法—算法的时间空间复杂度

思想者杰克

模块7作业

4anonymous

Redis利用漏洞

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

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