当前位置:主页 > 网页前端 > JavaScript代码 >

一文了解什么是TypeScript?

时间:2022-03-15 08:07:52 | 栏目:JavaScript代码 | 点击:

前言:

TypeScriptJavaScript的超集,它可以编译成纯JavaScript代码。

那为什么会出现TypeScript这门语言,主要是因为现在的JavaScript可以开发很多复杂的项目,但是JavaScript又缺乏其可靠性,在使用的时候需要我们为了代码的健壮性需要添加很多业务逻辑去判断。

TypeScript可以运行在浏览器环境、Node.js环境或者ECMAScript3或者更高的JavaScript的引擎中。

1.JavaScript的问题

JavaScript的问题主要有如下几个:

JavaScript的类型异常只有在运行的时候才可以发现。

因为JavaScript的函数的类型是不明确的,有可能导致函数的最终功能导致出现问题,

如下这段代码:

function sum(x, y){
  return x + y
}
sum(100, '100') // 100100


2.TypeScript的优势

let num: number = 6;


num这个变量从头到尾只能是number类型,如果将字符串赋值给他就会抛出异常。

所以说,TypeScript的优势如下:

3.TypeScript的缺点

TypeScript并不是只有优点,没有缺点的,它的缺点都是相对于JavaScript来说,

具体如下几点:

4.TypeScript的运行环境

TypeScript是运行是建立在Node.js环境基础之上的,所以需要先安装一下Node.js。

安装Node.js等一系列操作以忽略

安装TypeScript的命令如下:

npm install -g typescript@3.6.4


这里我通过@指定版本号,也可以不指定版本号

安装完TypeScript后,还需要安装一个ts-node的工具,如果安装该工具话是不能直接运行TS代码的,需要将TS的代码编成JavaScript后才能执行。

执行流程如下:

# 编译 TS 代码
tsc demo.ts 
# 编译后会得到 demo.js 文件,然后就可以运行了 


如果安装了node-ts工具后,就可以直接执行TS代码了。

具体步骤如下:

# 1. 全局安装 
npm install -g ts-node@8.4.1
# 2. 运行代码
ts-node demo.ts


值得注意的是安装之后的目录一定需要在环境变量中,不然会报错的。

5.作用域问题

我们在项目中执行ts文件时,如果不同文件中存在相同的变量名是会抛出异常的 ,

示例代码如下:

a.ts

let str: string = 'Hello World'

b.ts

let str: string = '一碗周'

此时就会抛出一个异常,即无法重新声明块范围变量“str”,如果编辑器是VScode的话,鼠标悬停到变量名会进行提示。

解决这个问题的方式有两种,第一种是为每个文件创建一个立即执行函数(即匿名函数),保证每个文件都拥有单独的作用域。

示例代码如下:

(function() {
  let str: string = '一碗周'
}){}


第二种方式是使用export将当前文件作为模块导出。示例代码如下:

let str: string = '一碗周'

export {}

您可能感兴趣的文章:

相关文章