写点什么

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

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

关注

评论

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

南京的春天

小天同学

随笔 4月日更 春天 南京 散文

Java中&、|、&&、||详解

Sakura

4月日更

全球案例 | Dropbox: 在 COVID-19 时代通过 Atlassian 为远程工作提供动力

Atlassian

DevOps 敏捷 远程办公 Atlassian Jira

基于区块链技术的去中心化自治组织——核心属性、演进脉络与应用前景

CECBC

区块链

面向软件 IT 专业的高校大学生职业规划问卷调查

打工人!

IT 问卷调查 职业生涯规划

Rust从0到1-代码组织-路径

rust 路径 代码组织 paths

如何快速准备高质量的AI数据?

华为云开发者联盟

AI 数据 华为云 modelarts 数据标注

【Node专题】Buffer理解

南吕

后端 nodejs 4月日更

机器学习训练营第一次作业

学习

近期值得关注的四款工具

彭宏豪95

效率 工具 Mac 4月日更

Java-技术专题-多线程顺序执行的8种方案实现

码界西柚

Java 并发编程 AQS 多线程 JUC

连续三年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开

阿里巴巴云原生

容器 运维 云原生 k8s 边缘计算

新疆重点人员管控系统搭建,指挥调度系统开发

低功耗深度休眠后无法唤醒、烧录程序,怎么办?(华大半导体HC32L136)

不脱发的程序猿

嵌入式软件 单片机 4月日更 华大半导体 HC32L136

老爷子这代码,看跪了!

why技术

Java

硬核系列 | 手写脚本语言编译器

九叔(高翔龙)

Java 编译器 脚本语言 词法分析器 编译器原理

Python异常的这些知识点你都get到了吗?

老猿Python

Python 编程语言 异常处理

谁说 Java 不能用来跑 Serverless?

张晓辉

Java Serverless Knative Quarkus

CloudIDE:为开发者写代码开启“加速”模式

华为云开发者联盟

开发者 代码 华为云 CloudIDE HDC2021

RocketMQ 在使用上的一些排坑和优化

AI乔治

Java 架构 分布式 RocketMQ 高并发

拍立淘创始人潘攀博士为你揭开“以图搜图”的神秘面纱!

博文视点Broadview

全球案例 | Dropbox: 在 COVID-19 时代通过 Atlassian 为远程工作提供动力

Atlassian

敏捷 Atlassian Jira 远程工作 Dropbox

BOE(京东方)亮相数字中国 “三驾马车”加速物联网战略转型

爱极客侠

20年研发安全积累,5大研发安全能力让软件“天生安全”

华为云开发者联盟

DevOps 安全 DevSecOps 华为云 devcloud

curl使用

Hex

工具

6 张图带你彻底搞懂分布式事务 XA 模式

阿里巴巴云原生

Java 数据库 云原生 存储

软件 IT 专业的高校大学生创新创业问卷调查

五分钟学大数据

问卷调查

FusionInsight MRS:你的大数据“管家”

华为云开发者联盟

大数据 数据湖 云原生 华为云 FusionInsight MRS

BOE(京东方)成都数字医院开诊,投资60亿打造西南智慧医疗创新典范

爱极客侠

Golang easyjson

escray

学习 极客时间 Go 语言 4月日更

应“云”而生的 Java 框架 Quarkus:构建小而快的镜像

张晓辉

Java Docker Serverless CloudNative Quarkus

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