TypeScript-1-介绍

1、介绍

TypeScript是微软开发的开源编程语言(简称:TS),是 JavaScript 的超集(JS 有的 TS 都有)。

TS官网:https://www.tslang.cn

TypeScript = Type + JavaScript(在 JS 基础之上,为 JS 添加了类型支持,可以看作是对ES规范的拓展)。

在这里插入图片描述

2、为什么使用TS

JS存在的缺陷

众所周知,js是一门动态弱类型解释型脚本语言,动态带来了很多的便利,我们可以在代码运行中随意的修改变量类型以达到预期目的。

但是针对一个大型项目,面对无比复杂的逻辑和庞大代码量,很难通过代码看出某个变量是什么类型,这个变量要做什么,很可能一不小心就会操作出问题。

而且,js是解释性脚本语言,编写代码时变量类型操作异常无法感知,需要等到代码真正运行的时候才能发现错误(晚)。

TS类型支持

// TS代码,有明确的类型,此处为number类型
let age: number = 18;
// JS代码,无明确变量类型(弱类型)
let age = 18;

TS代码编译的时候,会进行类型检查,代码运行前就可以发现错误(早)。

配合VSCode等开发工具,TS可以提前到在编写代码的同时就发现代码中的错误,减少找 Bug、改 Bug 时间。

Vue3源码使用TS重写、Angular默认支持TS、React与TS完美配合,TS已成为大中型前端项目的首先编程语言。

3、安装TS

为什么要安装TS编译工具包

虽然TS对ES规范进行了拓展,但是nodejs、各大浏览器都只认识ES规范,所以需要将TS代码编译转换成符合ES规范的JS代码,然后才能正常运行。

TS编译工具包的作用就是将TS代码编译转换为JS代码。

在这里插入图片描述

TS编译工具包的运行依赖nodejs,需提前安装nodejs。

安装命令:npm i -g typescript

验证是否安装成功命令:tsc -v(查看TS版本信息)。

4、TS使用

编译TS代码,转换为JS代码

如下ts代码文件:hello.ts

let age: number = 18;
console.log(age);

在ts代码文件路径终端,执行tsc hello.ts命令,会在当前路径生成一个同名JS文件(hello.js),内容如下:

var age = 18;
console.log(age);

此时生成的JS代码,nodejs、浏览器就能正常运行了。

nodejs运行TS代码工具包

如上面的操作,每次TS代码发生变化,都需要执行tsc命令进行编译,然后再交给nodejs执行,过程繁琐。

在nodejs中安装ts-node工具包,nodejs即可直接运行TS代码。

安装命令:npm i -g ts-node

验证是否安装成功命令:ts-node -v(查看ts-node版本信息)。

nodejs运行TS代码命令:ts-node ts文件,例如:ts-node hello.ts

原理:ts-node工具包在内部将TS => JS,然后nodejs再运行JS代码。


注意:初次运行ts-node命令可能会因ts-node版本因素报错:

error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'.

全局安装 ts-node 运行依赖包 tslib@types/node即可。

安装命令:npm i -g tslib @types/node

### 官方TypeScript网站及相关资源 官方的TypeScript网站提供了丰富的文档、教程以及工具支持,帮助开发者更好地理解和使用TypeScript。以下是关于TypeScript官网及其相关资源的信息: #### 官方网站 TypeScript的官方网站位于 [https://www.typescriptlang.org/](https://www.typescriptlang.org/)。该网站包含了详细的入门指南、手册和API参考等内容[^1]。 #### 文档与学习资料 - **快速上手**:对于初学者来说,“Quick Start”部分是一个很好的起点,它提供了一个简单的例子来展示如何安装并运行TypeScript程序。 - **Handbook**:这是深入理解TypeScript特性的核心参考资料,涵盖了从基础到高级的主题。 ```javascript // Example of a simple TypeScript code snippet demonstrating type annotations. function greet(name: string): void { console.log(`Hello, ${name}`); } greet("World"); ``` #### 社区和支持 除了官方文档外,还有许多社区驱动的资源可以帮助您进一步探索TypeScript的应用场景和技术细节。例如GitHub上的开源项目可以作为实际应用案例的学习材料[^4]。 另外值得注意的一点是,在某些特定框架如Angular中也广泛采用了TypeScript作为主要开发语言之一,并且为其定义了一些接口标准比如`OnInit`生命周期钩子方法等特性说明可参阅相应链接[^3]。 ### 结论 通过访问上述提到的各种在线平台及阅读关联书籍章节内容能够极大地促进个人技术水平提升同时解决日常编码过程中遇到的实际问题[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值