HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

理解elasticsearch的post_filter

程序员欣宸

elasticsearch 9月月更

玩转ApiFox脚本实现自动化

Liam

测试 Postman API 测试自动化 脚本自动化

大数据问题排查系列 - 开启 Kerberos 安全的大数据环境中,Yarn Container 启动失败导致 spark/hive 作业失败

明哥的IT随笔

大数据 spark hive kerberos

一文带你了解隐私 Layer1

TinTinLand

区块链 隐私

MyBatis-Plus(二、常用注解)

注解 MyBatisPlus 9月月更

StarlingX 7.0 已发布!进一步强化可扩展性、安全性及灵活性

Geek_2d6073

高并发之限流

源字节1号

软件开发 后端开发

微软 × 灵雀云 × 中建信息 联合推出基于Azure的云原生全栈解决方案

York

alauda 云原生 azure 数字化转型 虚拟化

Golang+Vue轻松构建Web应用

golang Vue

Vite构建的Vue3项目打包部署到Gitee —— 全网最详细系列

海底烧烤店ai

前端 vite Vue3 部署 9月月更

云安全是什么?是哪个企业提出的概念?

行云管家

云计算 网络安全 安全 云安全

C++学习---cstdio的源码学习分析01-类型定义

桑榆

c++ 源码阅读 9月月更

数字机器人及超级自动化产品和方案提供商朗思科技加入龙蜥社区

OpenAnolis小助手

AI 龙蜥社区 CLA 朗思科技

AI加速器与机器学习算法:协同设计与进化

OneFlow

机器学习 深度学习 AI 加速器

「云计算」AI如何改变云技术?

Finovy Cloud

实时云渲染 GPU算力 GPU渲染 云渲染农场

跨链自动化中心 OAK Network,构建安全高效 Web3 基础设施

One Block Community

Substrate defi 跨链 区块链、

Vite+Vue3+Vue-Router+Vuex+CSS预处理器(less/sass) 配置指南 —— 全网最详细系列

海底烧烤店ai

前端 Vue3 9月月更 项目搭建

Rust异步初探

CodeWithBuff

异步 ​Rust

什么是RTMP 和 RTSP?它们之间有什么区别?

wljslmz

音视频 流媒体 RTMP RTSP 9月月更

VUE3中watch与watchEffect —— 全网最详细系列

海底烧烤店ai

前端 响应式编程 Vue3 9月月更

十年大厂资深面试官告诉你,现在Java面试八股文都已经卷到什么程度了

Java永远的神

程序员 程序人生 设计模式 中间件 java面试

使用Rust开发后端——Actix-Web

CodeWithBuff

后端 actix-web ​Rust

MASA Framework的分布式锁设计

MASA技术团队

.net 分布式锁 MASA Framewrok MASA

观测云产品更新|新增基础设施 YAML 显示;新增日志查看器 DQL 搜索模式;优化应用性能监测等

观测云

Qualcomm IPQ5018 solution application wifi6 wallys ,QCN9074, 2. 4G/5G

wallys-wifi6

QCN9074 ipq5018' ipq5015

Dapp系统开发智能合约部署

薇電13242772558

智能合约

MySQL 及 jdbc 问题汇总

Java-fenn

Java

等保2.0是什么意思?谁能详细解释一下!

行云管家

云计算 等保 等级保护 等保2.0

数字化转型的认识偏见十宗罪

博文视点Broadview

羊了个羊区块链挖矿游戏系统开发模式玩法

开发微hkkf5566

flink-cdc同步mysql数据到hive

Java-fenn

Java

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