Typescript——简单介绍

前言

JavaScript因为从设计之初就没有考虑类型约束问题,所以造成了我们前端开发人员关于类型思维的缺失,前端开发人员通常不关心变量或者参数是什么类型的,如果当必须确定函数的参数类型时,我们往往需要使用各种判断验证;比如:

(1)当我们去实现一个核心类库时,如果没有类型约束,那么需要对别人传入的参数进行各种验证来保证我们代码的健壮性;

(2)当我们去调用别人的函数时,对方并没有对函数进行任何的注释,我们只能去看里面的逻辑来理解这个函数需要传入什么参数,返回值是什么类型;

为了弥补javaScript在类型约束上的缺陷,增加类型约束,很多公司推出了自己的方案:

(1)2014年,Facebook推出了flow来对javaScript进行类型检查;

(2)同年,Microsoft微软也推出了typeScript1.0版本;

他们都致力于为javaScript提供类型检查; 而现在无疑typeScript已经完全胜出:

(1)Vue2.x的时候采用的是flow来做类型检查;

(2)Vue3.x已经全线转向typeScript,98.3%使用typeScript进行了重构;

(3)而Angular在很早期就使用typeScript进行了项目重构并且需要使用typeScript来进行开发;

(4)而甚至Facebook公司一些自己的产品也在使用typeScript;

因此深入学习typeScript不仅仅可以为我们的代码增加类型约束,而且可以培养我们前端程序员具备类型思维。

官方对typescript的定义:typeScript是拥有类型的javaScript超集,它可以编译成普通、干净、完整的javaScript代码。我们可以将typeScript理解成加强版的javaScript。 javaScript所拥有的特性,typeScript全部都是支持的,并且它紧随ECMAScript的标准,所以ES6、ES7、ES8等新语法标准,它都是支持的;并且在语言层面上,不仅仅增加了类型约束,而且包括一些语法的扩展,比如枚举类型(Enum)、元组类型(Tuple)等;

基础环境配置

在前面我们提到过,TypeScript最终会被编译成JavaScript来运行,所以我们需要搭建对应的环境:

我们需要先进行全局的安装:

​ npm install typescript -g # 安装命令

​ tsc --version # 查看ts版本

编译运行方式一:

​ 第一步:通过tsc编译typeScript为javaScript代码;

​ 第二步:在浏览器或者Node环境下再去运行javaScript代码;

如果我们每次为了查看typeScript代码的运行效果都经过上面两个步骤的话就太繁琐了,所以推荐使用下面的方式。

编译运行方式二:

​ 通过ts-node库,为typeScript的运行提供执行环境;

​ 安装:npm install ts-node -g

​ 另外需要依赖 tslib 和 @types/node 两个包: npm install tslib @types/node -g

​ 现在,我们便可以直接通过 ts-node 来运行TypeScript的代码:ts-node math.ts

定义变量

声明了类型后typeScript就会进行类型检测,声明的类型称之为类型注解;

比如我们声明一个message变量,完整的写法如下:

const message: string = "Hello World"

注意:这里的string是小写的,和String是有区别的,string是typeScript中定义的字符串类型,而String是ECMAScript中定义的一个类。如果我们给message赋值其他类型的值,那么就会报错。

在开发中,有时候为了方便起见我们并不会在声明每一个变量时都写上对应的数据类型,我们更希望可以通过TypeScript本身的特性帮助我们推断出对应的变量类型,而这便被称为类型推断(所以我们在以后的ts开发中需要根据实际的情况去给变量添加上数据类型)

声明变量的关键字

在TypeScript定义变量(标识符)和ES6之后一致,可以使用var、let、const来定义。

var name: string = "why"
let age: number = 18
const height: number = 1.88

当然,在tslint中并不推荐使用var关键字来声明变量: 可见,在TypeScript中并不建议再使用var关键字了,主要原因和ES6升级后let和var的区别是一样的,var是没有块级作用域的,会引起很多的问题,这里不再展开探讨。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TypeScript是一种由微软开发的开源编程言,它是JavaScript超集。TypeScript扩展了JavaScript,并添加了静态类型、类、接口、模块等特性,从而使得在大型应用程序开发中更加可靠和可维护。 以下是一些TypeScript的主要特点: 1. 静态类型系统:TypeScript引入了静态类型系统,允许开发者在编码阶段对变量、函数参数和返回值等进行类型检查。这有助于在编译时发现潜在的错误,提高了代码的可靠性和可维护性。 2. 类与面向对象编程:TypeScript支持类和面向对象编程的概念,包括封装、继承、多态等。它提供了类和接口的定义、访问修饰符(如public、private、protected)等功能,使得在大型应用程序中组织和管理代码更加方便。 3. 接口:TypeScript强调接口的概念,允许开发者定义对象的形状和结构。通过接口,可以明确规定对象应该具有哪些属性和方法,从而提供了一种代码约定和规范。 4. 编译时类型检查:TypeScript通过编译器对代码进行类型检查,能够在开发阶段捕获错误,并提供有关错误的详细信息。这有助于提前发现潜在的问题,并减少在运行时出现的错误。 5. 支持最新的JavaScript特性:TypeScript可以编译为标准的JavaScript代码,并且支持最新的ES6、ES7等JavaScript语法和特性。它允许开发者在使用新特性时享受到静态类型检查的好处。 总的来说,TypeScript是一种强类型的JavaScript超集,通过添加静态类型、类、接口等特性,提供了更强大的工具和功能,使得大型应用程序的开发更加可靠和高效。它与JavaScript高度兼容,并且可以无缝地集成到现有的JavaScript项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值