快速了解 TypeScript

简介: 快速了解 TypeScript

1、简介

TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript。

TypeScript可以在任何浏览器、任何计算机和任何操作系统上运行,并且是开源的。

TypeScript是一种流行的开源语言,由微软维护和开发。它受到了世界各地许多软件开发人员的喜爱和使用。

基本上,它是JavaScript的超集,为语言添加了新的功能。最值得注意的添加是静态类型定义,这在纯JavaScript中是不存在的。例如,由于类型的存在,可以声明我们期望的参数类型以及函数中返回的确切参数,或者我们正在创建的对象的确切形状。TypeScript是一个非常强大的工具,它为JavaScript项目打开了一个充满可能性的新世界。它在代码执行之前就防止了许多错误,从而使我们的代码更加安全和健壮——它在代码开发过程中发现了问题,并与Visual Studio code等代码编辑器完美集成。

2、安装TypeScript

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

  • 通过npm(Node.js包管理器)
  • 安装Visual Studio的TypeScript插件

针对使用npm的用户:

> npm install -g typescript

在VSCode 安装插件:

创建一个文件(例如:first.ts),并输入以下代码:

1. function greeter(person) {
2. return "Hello, " + person;
3. }
4. let user = "Jane User";
5. console.log(greeter(user))

3、编译代码

我们可以通过tsc 进行编译:

tsc first.ts

输出结果为一个first.js文件,它包含了和输入文件中相同的JavsScript代码。

如果我们想更快速的运行TypeScript代码,可以安装ts-node 如下所示:

npm i ts-node -g

在VSCode 里面,直接点击运行按钮就行了。如下所示:

4、类型注解

如果我们把方法greeter中的参数类型设置成数组,再次直接运行看下结果:

1. function greeter(person: Array) {
2. return "Hello, " + person;
3. }
4. 
5. let user = "Jane User";
6. console.log(greeter(user))

我们会看到提示,提示编译报错,如下所示:

1. TSError: ⨯ Unable to compile TypeScript:
2. first.ts(1,26): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).

我们用tsc编译,看下对应结果,发现ts编译报错,但是对应的js文件被编译出来了,这说明按照ts规则写代码,但是编译后的结果可能不会按照预期执行,在一些情况下,会产生对应的bug。

5、接口

我们可以用接口定义一个对象,包括firstName 和 lastName,可以设置这两个属性的类型为字符串,如下图所示:

1. interface Person {
2. firstName: string;
3. lastName: string;
4. }
5. 
6. function greeter(person: Person) { 
7. return "Hello, " + person.firstName + " " + person.lastName;
8. }
9. let user = { firstName: "wang", lastName: "wu" };
10. console.log(greeter(user));

6、类

最后,让我们使用类来改写这个例子。 TypeScript支持JavaScript的新特性,比如支持基于类的面向对象编程

让我们创建一个Student类,它带有一个构造函数和一些公共字段。 注意类和接口可以一起共作,程序员可以自行决定抽象的级别。

还要注意的是,在构造函数的参数上使用public等同于创建了同名的成员变量。

1. class Student {
2. fullName: string;
3. constructor(public firstName, public middleInitial, public lastName) {
4. this.fullName = firstName + " " + middleInitial + " " + lastName;
5.     }
6. }
7. 
8. interface Person {
9. firstName: string;
10. lastName: string;
11. }
12. 
13. function greeter(person : Person) {
14. return "Hello, " + person.firstName + " " + person.lastName;
15. }
16. 
17. let user = new Student("wang", "", "wu");
18. 
19. document.body.innerHTML = greeter(user);

重新运行tsc first.ts,你会看到生成的JavaScript代码和原先的一样。 TypeScript里的类只是JavaScript里常用的基于原型面向对象编程的简写。

7、运行TypeScript Web应用

在first.html里输入如下内容:

1. <!DOCTYPE html>
2. <html lang="en">
3. <head>
4. <meta charset="UTF-8">
5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
7. <title>TypeScript DEMO</title>
8. </head>
9. <body>
10. <script src="first.js"></script>
11. </body>
12. </html>

在浏览器中,我们运行这个html文件,如下图所示:

在VSCode中,例如,我们选中greeter函数,会显示对应的定义,如下图所示:

我们可以按住comand + 点击对应的变量、或方法,示例,可以找到对应的定义,当然我们可以选中通过鼠标右键定位到,当然还有一些其他的操作,可以自己研究下。

以上就是TypeScript的一些简单操作,编辑器上我们可以选择VSCode,里面有许多对应插件比较轻量,微软的另一个工具Visual Studio也可以,但相对来说比较笨重一点。

相关文章
|
7月前
|
JavaScript 前端开发 安全
TypeScript五
TypeScript是面向对象的JavaScript超集,支持类、接口等OOP特性。类通过`class`定义,包括字段、构造函数和方法。例如,`Car`类有`engine`字段、构造函数和`disp`方法。类间可实现继承,如`Circle`继承`Shape`。TypeScript不支持多重继承,但允许多重继承链。`static`关键字定义静态成员,`instanceof`检查对象类型,访问控制修饰符(public, protected, private)管理访问权限。类能实现接口,如`AgriLoan`实现`ILoan`。 TypeScript对象是类型实例,
|
2月前
|
JavaScript 安全
TypeScript使用真的很麻烦吗?
TypeScript使用真的很麻烦吗?
31 3
|
6月前
|
JavaScript
typescript Any
typescript Any
|
7月前
|
存储 JavaScript 索引
TypeScript四
## 联合类型 联合类型使用`|`分隔,表示变量可为多种类型: ```c var val: string | number; val = 12; // OK val = &quot;Runoob&quot;; // OK `
|
7月前
|
JavaScript 前端开发 Java
TypeScript
TypeScript是JavaScript的一个超集,简称ts,ts是能够完全兼容js的ts是一门静态类型的语言,js是动态类型的语言
63 0
|
JavaScript
初识 TypeScript 一。
初识 TypeScript 一。
初识 TypeScript 一。
|
JavaScript 前端开发
初识 TypeScript 二。
初识 TypeScript 二。
初识 TypeScript 二。
|
JavaScript 前端开发 开发工具
TypeScript初识
TypeScript初识
151 0