“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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

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

关注

评论

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

OAI L3与L2接口分析

柒号华仔

5G 7月月更

Qt中 connect的多种方式

小肉球

qt 7月月更

使用ServiceWorker提高性能

devpoint

JavaScript Service Worker 7月月更

飙车资深老教练-手撸一个EventBus

芝麻粒儿

android EventBus 7月月更

数据仓库分层——DWD DWS ADS傻傻分不清楚

怀瑾握瑜的嘉与嘉

数据仓库 7月月更

面试突击65:为什么要用HTTPS?它有什么优点?

王磊

Java 面试题

Hexo在github上构建的博客

沃德

程序员 Hexo 博客 7月月更

营销玩法多变,搞懂规则是关键!

CRMEB

【LeetCode】数组美丽值求和Java题解

Albert

LeetCode 7月月更

Qt | 读取文件内容并删除文件 QFile

YOLO.

File 文件操作 qt 7月月更

解决浏览器回退表单重复提交问题

沃德

程序员 javaWeb 7月月更

Java基本概念详解

五分钟学大数据

Java 7月月更

双目立体匹配之视差优化

秃头小苏

7月月更 双目立体匹配

《高绩效教练》:如何用提问激发潜能?

郭明

读书笔记

CSS神奇的卡片悬停交互效果

南城FE

CSS 前端 动画 鼠标悬浮 7月月更

基于SpringBoot 的MCMS系统,完全开源,直接商用太爽了

冉然学Java

Java 源码 springboot 构架

Java 在Word文档中查找和高亮文本

在下毛毛雨

Java word文档 查找与高亮

语音直播app源码

开源直播系统源码

直播系统源码 开源源码 语音直播系统源码

Redis 过期的数据会被立马删除么?大有玄机

码哥字节

redis 底层原理 7月月更

龙芯高级工程师直播:视频编解码基础知识入门 | 第 31 期

OpenAnolis小助手

直播 基础 视频编解码 龙蜥大讲堂 龙芯中科

FAQ制作工具推荐

Baklib

多链多币种钱包系统开发跨链技术

薇電13242772558

钱包 跨链技术

不习惯的 Vue3 起步五 のapiHooks封装

空城机

Vue3 7月月更

基于Qt设计的课堂考勤系统(采用RDS for MySQL云数据库 )

DS小龙哥

7月月更

微软 Edge 浏览器 Tracking Prevention 的强制措施的一个例子

Jerry Wang

JavaScript microsoft 浏览器 前端开发 7月月更

某易跟帖频道,接口溯源分析,反爬新技巧,必掌握一下

梦想橡皮擦

Python 爬虫 Python爬虫 7月月更

硅谷来信:Google、Facebook员工的“成长型思维”

博文视点Broadview

Qt|QWT绘制柱状图一类多种颜色

中国好公民st

qt 7月月更

MySQL进阶(一)主外键讲解

No Silver Bullet

MySQL 数据库 7月月更 主外键

全面打通 DevOps 数据链的研发效能度量平台

思码逸研发效能

开源 DevOps 研发效能 效能度量

会用redis吗?那还不快来了解下redis protocol

冉然学Java

Java 分布式 构架 Redis 数据结构

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