BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 孙镜涛 关注 2 他的粉丝 发布于 2014年11月20日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT