初识TypeScript

此博客都是借鉴胡桓铭作者所写的TypeScript的实战指南

Hello TypeScript

微软认为Javascript只是一门脚本语言,设计理念简单,缺乏对类与模块的支持,并非真正用于开发大型web应用,后来,TypeScript就在新时代中诞生了。它的主要特点如下:

  • 免费开源,使用Apache授权协议
  • 基于ECMAScript标准进行扩展,它是js的超集
  • 文件扩展名为ts
  • 编译时检查,不污染运行时

准备环境

1、安装Node.js
2、npm和Yarn
其中,Yarn也是npm的注册源获取模块的CLI客户端,它存在的目的就是为了解决团队使用npm面临的少数问题,比如依赖版本的锁定、并行安装以及文案输出。

npm install -g yarn

进行安装。但是,建议通过Yarn的官方要求进行安装

安装TypeScript

npm install -g typescript

我们还会安装TypeScript的运行时ts-node

npm install -g ts-node

ts-node提供了运行TypeScript的代码的能力

开发工具-VS code

访问vscode的官网,根据当前系统下载安装包,安装之后,在安装shell命令。在搜索框里面输入install ‘code’,选择第一个选项,即可让code成为命令,这样可使用code test.js或者code ./folder

第一个文件的诞生

我们可以新建文件,注意后缀名为ts,我们在里面写入
console.log(“Hello World”)
打开终端(terminal),输入 ts-node hello.ts
这句话就漂亮地输出来了。

类型和函数

基本类型

typeScript 与javscript的基本类型基本类似,boolean类型如下所示:
let areyouok :boolean=true
声明数字的时候:
let a:number=6
let str:string=“xiaoming”,这里也可使用模板字符串,就用反引号将字符串包起来,用大括号来插入表达式。
数组的表达方式有两种:1、let arr :number[]=[1,2,3]
2、let arr Array<number>=[1,2,3]

如何声明变量

使用let和const,与es6使用方法一致

创建泛型函数

function hello<T>(arg:T):T{
return arg
}
这样可以控制函数的参数类型

如何使用泛型函数:使用尖括号的方式进行表达
let output=hello<string>(‘hello tpescript’)
使用类型推断。这个会根据传入的参数自动确定T的类型
let output=hello(‘hello typescript’)
但是,如果你使用我们之前创建的泛型函数,直接获取arg的length会直接报错,因为他们有该属性,我们可以通过泛型数组来表达这种情况。
function hello<T>(arg:T[]):T{
console.log( arg.length);
return arg;
}
还有另外一种方式,使用Array来表达数组,如下。
function hello<T>(arg:Array<T>):Array<T>{
}

枚举类型

TypeScript 有数字枚举和字符串枚举。
对于数字枚举而言,第一个枚举的变量值如果赋值为1,其他变量的值就递增,当然,你也可以手动输入其他成员的值。如果第一个值并未赋值,默认为0,注意,枚举类型的值必须确定。反向映射是它的技巧,属性值获取值,值获取属性名。
对于字符串枚举,它不同于数字枚举,它其中的每一个成员都必须是字符串字面量,都必须手动初始化。它不含有反向映射的技巧。

高级类型

  • interface,提供了表达字典的能力。
  • 交叉类型,多个字典类型的组合就成了一个新的字典类型,在interface中,交叉是并集。
  • 联合类型,一个变量可以是几种类型之一,我们用竖线分割每个类型,在interface中,联合是交集。
  • 类型保护与区分类型,采用联合类型后,如果调用函数,不能只调用交集中的函数,所以要使用类型断言来操作,直接进行强行推断类型。但是提供的保护机制可以只写一段代码即可,如下.
    function isTeacher(person:Teacher|Student):person is Teacher{ return (\<Teacher>person).teach !==undefined; }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值