TypeScript 是微软开发的 JavaScript 的超集,TypeScript兼容JavaScript,可以载入JavaScript代码然后运行。TypeScript与JavaScript相比进步的地方 包括:加入注释,让编译器理解所支持的对象和函数,编译器会移除注释,不会增加开销;增加一个完整的类结构,使之更新是传统的面向对象语言。

安装ts编译器(在此之前需要先安装node)

npm install -g typescript

检查版本

tsc -v

使用方法,需要转换为js文件

tsc .ts

就会发现系统自动转换了一个.js文件,我们就可以使用npm 1.js 输出;

基本类型

// 基本类型
let num:number = ;
let str:string = '哈哈';
let bool:boolean=true;
console.log(num,str,bool)

数组

// 数组
let strArr:string[] = ['a','b','c']
let numArr:number[] = [,,]
let boolArr:boolean[] = [true,false]
let anyArr:any[] = ['a',,false,null,undefined]
console.log(strArr,numArr,boolArr,anyArr)

元祖

// 元祖>表示一个已知的数据类型
let tuple : [string,number,boolean,any] = ['a',,false,undefined];
// 调用时候系统会检测是什么类型,然后提示对应的方法;
console.log(tuple[].substr())
console.log(tuple[].toFixed())

枚举

// 枚举
enum Sex {
Man,
Women
}
let sex1:Sex = Sex.Man
let sex2:Sex = Sex.Women
// 输出的是下标
console.log(sex1,sex2)

enum类型

// enum
enum NewSex {
// 枚举可以修改默认值
Man1 = ,
Women2 =
}
let sex3:NewSex = NewSex.Man1
let sex4:NewSex = NewSex.Women2
// 输的是下标,输出的是3,4;
console.log(sex3,sex4)
// 通过下标得到参数
let chang1:string = NewSex[]
let chang2:string = NewSex[]
console.log(chang1,chang2)

any任意类型

// any 可以为任意类型的值,在不确定值得类型的时候使用;
let any1:any = ;
let any2:any = 'abc';
let any3:any = true;
console.log(any1,any2,any3)

void无返回值

// void 无返回值,void类型,只能赋值null和undefined
let void1:void = null;
let void2:void = undefined;
// 这里不能定义string,number,boolean
console.log(void1,void2)
function fun():void{
console.log('前端伪大叔')
}
fun()

never必须存在无法到达的终点

// never :必须存在无法到达的终点
// 表示永不存在的值的类型 1、抛出异常的参数 2、不会有返回的函数表达式 3、箭头函数的返回值类型
// 任意类型的子类型,可以赋值给任意类型(说白了就是任何类型都有一个never类型)
// nnever没有子类型,任何类型都不能赋值给never类型(除了never自己)
function error(mes:string):never{
// 抛出异常函数
throw new Error(mes)
}
error('未知错误')
// 可以使用永true或者false,更多的用于底层的框架
// object 除了number,string,boolean,symbol类型

如果大家喜欢的话,欢迎关注“前端伪大叔”我将为您不间断的分享前端学习知识!

前端必学TypeScript之第一弹,st基础类型!的更多相关文章

  1. 前端必学内容:webpack3快速入门 1-23节内容参考

    前端必学内容:webpack(模块打包器) webpack3 学习内容,点击即可到达 (1).webpack快速入门——如何安装webpack及注意事项 (2).webpack快速入门——webpac ...

  2. 前端必学---JavaScript数据结构与算法---简介

    前端必学---JavaScript数据结构与算法---简介 1. 数据结构: 数据结构是相互之间存在一种或者多种特定关系的数据元素的集合.---<大话数据结构> 1.1 数据结构的分类 1 ...

  3. 前端必学库之bootstrap

    想要成为一个全栈程序员,其实有很多技术线路.很多人说有了nodejs后,只学JAVASCRIPT就可以了.其实,会NODEJS后端开发,严格来说算是高级前端.就站长个人理解,后端的主流还是4P:jsp ...

  4. 『MXNet』第一弹_基础架构及API

    MXNet是基础,Gluon是封装,两者犹如TensorFlow和Keras,不过得益于动态图机制,两者交互比TensorFlow和Keras要方便得多,其基础操作和pytorch极为相似,但是方便不 ...

  5. 新一代Java程序员必学的Docker容器化技术基础篇

    Docker概述 **本人博客网站 **IT小神 www.itxiaoshen.com Docker文档官网 Docker是一个用于开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与 ...

  6. 闲来无事——第一弹 Java基础 基本数据类型

    一个优秀的Java类一定要去优质的名称,类的命名主要有字母和数字,并且必须以字母开头:虽然说没有明确规定类名首字母要大写,但是实际上如果出现首字母小写的类名,那就呵呵了,坐等挨骂吧!类名首字母大写是业 ...

  7. 好程序员web前端分享想要学习前端需要学那些课程

    好程序员web前端分享想要学习前端需要学那些课程,仔细思考了一下如何回答好这个话题,其实前端是一个涵盖面非常之广泛的一个职位,所需知识体系非常庞杂,与传统语言“想要精一行,必先通一门” 有很大差别, ...

  8. 想转行做web前端工程师,必学这5大技能!知道是那些吗?

    web前端工程师是近几年才发展出来的新兴职业,也是目前火爆且高薪的职业. 大需求的市场环境下,出现了越来越多的人群转行做web前端工程师,如设计师.后台程序员.网虫.大学其他专业.策划.编辑等等. 要 ...

  9. 0基础算法基础学算法 第八弹 递归进阶,dfs第一讲

    最近很有一段时间没有更新了,主要是因为我要去参加一个重要的考试----小升初!作为一个武汉的兢兢业业的小学生当然要去试一试我们那里最好的几个学校的考试了,总之因为很多的原因放了好久的鸽子,不过从今天开 ...

随机推荐

  1. android: Android 权限管理小结

    一. 概述 感谢郭神,自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验,不会再强迫用户因拒绝不该拥有 ...

  2. JAVA 基础编程练习题37 【程序 37 报数】

    37 [程序 37 报数] 题目:有 n 个人围成一圈,顺序排号.从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子, 问最后留下的是原来第几号的那位. package cskaoy ...

  3. 源码搭建zabbix服务

    1) 部署LNMP 1.1) cd /root tar -xf lnmp_soft.tar.gz cd lnmp_soft/ tar -xf nginx-1.10.3.tar.gz cd nginx- ...

  4. innodb事务锁的一些常见数据结构

    lock_sys_t 整个innodb的锁系统管理结构体,定义在lock0lock.h中.在lock0lock.cc中有一个lock_sys_t的全局指针lock_sys, 由lock_sys_cre ...

  5. Django模板渲染之自定义inclusion_tag详细使用

    inclusion_tag在使用的时候可以帮我们减少很多前端和后端重复的代码 逻辑图: inclusion_tag的作用是主页面以一定的语法给一个参数,调用某个函数,这个函数可以通过主页面给的参数做一 ...

  6. mysql根据时间统计数据语句

    select FROM_UNIXTIME(`createtime`, '%Y年%m月%d日')as retm,count(*) as num  from `user` GROUP BY retm se ...

  7. MongoDB之源生基础概念与语句测试

    此文章,我们拿MySQL和MongoDB做一个简单的理解. MySQL的数据库 => MongoDB数据库 MySQL的表 => MongoDB的Collection MySQL的一行记录 ...

  8. hisiv100交叉编译工具链安装

    hisi交叉编译工具链安装 一.         摘要: 交叉编译简单的说,就是A机器上编译生成,运行在B机器上.那么在A机器上的编译工具安装,就是本文所要描述的内容. 工欲善其事必先利其器,所以交叉 ...

  9. Django-filter报错:__init__() got an unexpected keyword argument 'name'

    原因是 自从 django-filter2.0之后 将Filter的name字段 更名为 field_name 所以需要这样写: class GoodsFilter(filters.FilterSet ...

  10. 2019年08月21日 服务部署笔记 请求打不到域名后某个pod上

    背景: 一个小项目http+https的小项目, 需要配置域名, 因http 和 https服务共存, 所以决定域名后面挂两个不同的LVS, 80端口一个, 443端口一个. 服务框架: nginx服 ...