Typescript|青训营笔记

78 阅读2分钟
  1. 什么是Typescript TypeScript是由微软开发的自由和开源的编程语言。

TypeScript是JavaScript的一个超集,从今天数以百万计的JavaScript开发者所熟悉的语法和语义开始。可以使用现有的JavaScript代码,包括流行的JavaScript库,并从JavaScript代码中调用TypeScript代码。

TypeScript可以编译出纯净、 简洁的JavaScript代码,并且可以运行在任何浏览器上、Node.js环境中和任何支持ECMAScript 3(或更高版本)的JavaScript引擎中。

TypeScript的优势在于:它有更多的规则和类型限制,代码具有更高的预测性、可控性,易于维护和调试;对模块、命名空间和面向对象的支持,更容易组织代码开发大型复杂程序。

另外,TypeScript的编译步骤可以捕获运行之前的错误。

  1. 安装TypeScript

有两种主要的方式获取TypeScript工具。

  • 通过npm(Node.js包管理器)
  • npm install -g typescript
  • 安装TypeScript的Visual Studio插件 -function greeter(person){     return "Hello," + person; } var user = "Jane User"; document.body.innerHTML = greeter(user);

编译代码

虽然我们使用了.ts作为文件扩展名,但是这些代码仅仅是JavaScript代码。你可以将代码直接复制粘贴到已有的JavaScript应用程序中。

在命令行中运行TypeScript编译器:

tsc greeter.ts

其结果你得到一个包含相同JavaScript代码的greeter.js文件。在我们启动和运行的JavaScript应用程序中使用TypeScript。

现在我们可以开始利用TypeScript提供的新工具。给函数参数‘person’添加: string类型注解,如下所示:

function greeter(person: string){
    return "Hello," + person;
}
var user = "Jane User";
document.body.innerHTML = greeter(user);    

类型注解

类型注解在TypeScript中是记录函数或变量约束的简便方法。在这个示例中,我们想要在调用greeter函数时传入一个字符串类型参数。我们可以尝试在调用greeter函数时变为传入一个数组:

function greeter(person: string){
return"Hello, " + person;
}
var user = [0, 1 , 2];
document.body.innerHTML = greeter(user);

重新编译,将看到一个错误:

greeter.ts(7,26): Supplied parameters  do   not   match   any  signature  of   call  target

同样,在调用greeter函数时尝试不传入任何参数。TypeScript将会告诉你调用这个函数时需要带一个参数。在这两个示例中,TypeScript基于你的代码结构和类型注解可以提供静态分析。

注意,虽然有错误,但是仍然编译创建了greeter.js文件。即使你的代码中有错误,你仍旧可以使用TypeScript。但是在这种情况,TypeScript会发出警告:你的代码可能不能按照你预想的那样运行。