阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

关注

评论

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

极客架构模块2作业-朋友圈高性能架构分析

Geek_649372

架构实战营

苏州园区:面向全国“发帖”聚力 加快创建区块链技术应用高地

CECBC

阿里架构师如是说:权限系统就该这么设计

Java架构师迁哥

ScheduledThreadPoolExecutor源码解读(二)ScheduledFutureTask时间调度执行任务(延迟执行、周期性执行)

徐同学呀

线程池 Java源码 ScheduledThreadPool JUC

架构实战营 - 模块二作业

凯迪

架构实战营

2020从干饭人到打工人

空城机

生活 生活记录 杂记 4月日更

阿里致敬武侠首发“Java架构修炼笔记”,深入内核,拒绝蒙圈

Java架构师迁哥

ThreadPoolExecutor源码解读(三)如何优雅的关闭线程池(shutdown、shutdownNow、awaitTermination)

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

这套Java面试题推出第二天就惨遭全网封杀!已帮我拿下15个Offer

Java架构追梦

Java 阿里巴巴 架构 面试 金三银四

ScheduledThreadPoolExecutor源码解读(一)DelayedWorkQueue高度定制延迟阻塞优先工作队列

徐同学呀

线程池 Java源码 ScheduledThreadPool JUC

架构实战营 模块二:课后作业

👈

架构实战营

架构实战营 - 模块 2- 作业

冬天的树

ThreadPoolExecutor源码解读(二)execute提交任务,Worker详解。如何执行任务?如何回收空闲线程?

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

华为“引商”,VR“刻羽”,共觅知音人

脑极体

Spark运行状态监控与优化

小舰

4月日更

Flutter 学习笔记(二) Container 组件

U2647

flutter 4月日更

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

目标一个亿

重读《重构2》- 引入参数对象

顿晓

重构 4月日更

HarmonyOS开发者日再现上海,生态最新进展、核心代码解析、创新案例分享

Geek_283163

【腾讯阿里最全面试题】Redis持久化RDB和AOF 的区别

Linux服务器开发

面试 后端 面经 Linux服务器开发

读懂「数据」在区块链网络中流动的3种范式?

CECBC

区块链

架构实战营 - 模块 2- 作业

请弄脏我的身体

架构实战营

增强产业链供应链自主可控能力,区块链能否贡献力量?

CECBC

区块链

WEB-API的设计与开发

李印

HTTP 软件设计 web tech

阿里巴巴用实践告诉你,架构师到底需要掌握什么样的技术?

Java架构师迁哥

架构实战营 模块二:学习总结

👈

架构实战营

华为帐号服务学习笔记(四):Authorization Code模式服务端开发

Coding狙击

Java android

模块2-微信朋友圈高性能架构设计

yu

Github接近10w点赞!阿里巴巴内部Java面试参考指南

Java 程序员 架构 面试

模块2作业

灯火阑珊

ThreadPoolExecutor源码解读(四)如何正确使用线程池(总结坑点+核心参数调优)

徐同学呀

ThreadPoolExecutor

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