博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TS学习一
阅读量:5903 次
发布时间:2019-06-19

本文共 2297 字,大约阅读时间需要 7 分钟。

安装TypeScript有两种主要的方式来获取TypeScript工具:    通过npm(Node.js包管理器)    安装Visual Studio的TypeScript插件    npm install -g typescript复制代码

TS特性

TypeScript 是一种给 JavaScript 添加特性的语言扩展。
  • 类型批注和编
  • 译时类型检查
  • 接口
  • 模块 [7]
  • lambda 函数

TS基础类型如下:

TS里的类型注解是一种轻量级的为函数或变量添加约束的方式。
  • boolean(布尔)
  • number(数字)
  • string(字符串)
  • array(数组)
  • Tuple(原组)
  • enum(枚举)
  • any(任意)
  • void
  • Null 和 Undefined
  • Never
Boolean:
let flag: boolean = false; 复制代码

number:

let _num: number = 1;复制代码

string:

let str: string = '123'复制代码

array:

/*两种方式可以定义数组*/let arr: number[] = [1, 2, 3]; /*第一种:在元素类型后面拼接[]*/let arr: Array[number] = [1, 2, 3]; /*第二种:数组泛型,Array[元素类型]*/复制代码

原组Tuple:

/*元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为 string和number类型的元组*/let x: [string, number];    x= ['haha', 1]; // ok    x= [1, 'haha']; //error/*当对数组中的某个索引值进行方法处理时,这是要注意对应索引的值的类型,如下:*/console.log(x[0].substr()) //ok, string存在substr方法console.log(x[1].sunstr()) //error, number不存在substr方法/*给未定义索引增加值时:*/    x[3]= '1212'; // ok    x[4]= 1212; //ok    X[5] = ture;  // Error, 布尔不是(string | number)类型复制代码

枚举enum:

枚举是一个可被命名的整型常数的集合,枚举类型为集合成员赋予有意义的名称增强可读性。enum Color {red,green,blue};let c: Color = Color.blue;console.log(c); //2 枚举默认下标是0,也可以手动修改,下标依次增加1enum Color {red = 2,green = 3,blue = 6, yellow};let c: Color = Color.blue;console.log(c); //6console.log(yellow); //7复制代码

any:

任意值是TypeScript针对编程时类型不明确的变量使用的一种数据类型,常用于以下三种类型:  1、值可能来自于动态的内容,比如来自用户输入或第三方代码库。 这种情况下,我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。     let _any: any = '12'  2、允许你在编译时可选择地包含或移除类型检查    let x: any = 4;    x.toFixed(); //正确,并不检查是否存在      3、定义储存各种类型数据的数组时    let arrarList: any[] = [1,'qwe',true];复制代码

void:

使用void表示没有任何类型,例如一个函数没有返回值(即没有return值出来),意味着返回void,void类型只能为undefined和nullfunction arr():void{     console.log('ahhahahah')}let unusable: void = null /*一个变量声明void类型没有什么意义*/复制代码

Null 和 Undefined

TypeScript里,undefined和null两者各自有自己的类型分别叫做undefined和null。 和 void相似,它们的本身的类型用处不是很大let u: undefined = undefined;let n: null = null;!!!注意:null和undefind是所有类型的子类,也就是说在其它类型下,赋值null或者undefind都是可以的,然而,当你指定了--strictNullChecks标记,null跟undefind就只能注解自己对应的类型了。strictNumChecks标记在tsconfig.json下配置"strictNullChecks": true即可 (官方提示强烈推荐使用)复制代码

never:

never是其他类型(包括null和undefined)的子类型,代表从不会出现的值,这意味着声明为never类型的变量只能被never类型所赋值,在函数中通常表示为抛出异常或无法执行到终止点。let x: never;let y: number;//报错x = 123;//正确y = x;复制代码

转载于:https://juejin.im/post/5c6a17dc51882561de4a9ee1

你可能感兴趣的文章
MHDD检测不到硬盘的解决办法
查看>>
dev devfs udev sysfs及关系
查看>>
HTML基础知识总结二
查看>>
SSM+PageHelper+jqGrid实现数据分页
查看>>
搭建docker 私有镜像仓库
查看>>
欧几里得算法求最大公约数和一些典型算法--来自<算法>一书的学习
查看>>
确定指定年份季度的开始日期和结束日期
查看>>
aoj0033
查看>>
查看表结构的三种方法
查看>>
iOS开发——面试篇&面试总结(五)取消GCD任务
查看>>
SQL调优简介及调优方式
查看>>
jsonp
查看>>
[ZZ]用Eclipse开发C/C++程序的图形化配置
查看>>
[Python]多线程入门
查看>>
关于定时任务
查看>>
团队编程项目作业6- 程序维护
查看>>
js常用正则表达式
查看>>
理解call和apply方法
查看>>
异步加载(延迟加载)与同步加载
查看>>
机器学习瓶颈 - 从黑盒白盒之争说起
查看>>