TypeScript入门-基本数据类型
▓▓▓▓▓▓ 大致介绍
TypeScript是由C#语言之父Anders Hejlsberg主导开发的一门编程语言,TypeScript本质上是向JavaScript语言添加了可选的静态类型和基于类的面向对象编程,它相当于是JavaScript的超集
ES5、ES6和TypeScript的关系:

▓▓▓▓▓▓ 安装
首先需要安装npm,然后在输入
npm install -g typescript
安装完成后,因为TypeScript是以.ts结尾的,要想运行就得把他编译js文件,编译的方法特别简单就是使用tsc命令
tsc hello.ts
通常在项目中ts文件比较多的情况下,我们需要自己配置tsconfig.json文件,以便能更好的编译ts文件,配置tsconfig.json文件不难,这里就不赘述,可以自行百度
▓▓▓▓▓▓ 基本类型
在TypeScript中有以下基本数据类型
• 布尔类型(boolean)
• 数字类型(number)
• 字符串类型(string)
• 数组类型(array)
• 元组类型(tuple)
• 枚举类型(enum)
• 任意值类型(any)
• null和undefined
• void类型
• never类型
▓▓▓▓▓▓ 布尔类型(boolean)
布尔类型是最简单的数据类型,只有true和false两种值
注意:布尔类型是不能赋予其他值的
let flag: boolean = true;
flag = 1; //报错
▓▓▓▓▓▓ 数字类型(number)
和JavaScript一样,TypeScript数字都是浮点型,也支持二进制、八进制、十进制和十六进制
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;
▓▓▓▓▓▓ 字符串类型(string)
可以用单引号(')和双引号(")来表示字符串类型,除此之外还支持使用模板字符串反引号(`)来定义多行文本和内嵌表达式。使用${ expr }的形式嵌入变量或表达式
let name: string = 'Angular';
let years: string = 7;
let words: string = `今年是 ${ name } 发布 ${ years } 周年`;
▓▓▓▓▓▓ 数组类型(array)
TypeScript数组的操作类似于JavaScript中数组的操作,TypeScript建议开发者最好只为数组元素赋一种类型的值,定义数组有两种方式
1、在元素类型后面加上[]
let arr: number[] = [2,3];
2、使用数组泛型
let arr: Array<number> = [2,3];
▓▓▓▓▓▓ 元组类型(tuple)
元组类型用来表示已知数量和类型的数组,各元素的类型不必相同
let x: [string,number];
x = ['Angular',5]; //正确
x = [5,'Angular']; //报错
▓▓▓▓▓▓ 枚举类型(enum)
枚举是一个可被命名的整型常数的集合,枚举类型为集合成员赋予有意义的名称增强可读性
enum Color {red,green,blue};
let c: Color = Color.blue;
console.log(c); //
枚举默认下标是0,也可以手动修改
enum Color {red = 2,green = 3,blue = 6};
let c: Color = Color.blue;
console.log(c); //
▓▓▓▓▓▓ 任意值类型(any)
任意值是TypeScript针对编程时类型不明确的变量使用的一种数据类型,常用于以下三种类型
1、值可能来自于动态的内容,比如来自用户输入或第三方代码库。 这种情况下,我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。
let x: any = 1;
x = 'I am a string';
x = false;
2、允许你在编译时可选择地包含或移除类型检查
let x: any = 4;
x.toFixed(); //正确,并不检查是否存在
3、定义储存各种类型数据的数组时
let arrarList: any[] = [1,'qwe',true];
▓▓▓▓▓▓ null和undefined
默认情况下null和undefined是所有类型的子类型。 就是说你可以把null和undefined赋值给number类型的变量。
然而,如果启用--strictNullChecks,就可以使得null和undefined只能被赋值给void或本身对应的类型
let x: number;
x = 1;
x = null; //正确 启用 --strictNullChecks
let y: number;
y = 1;
y = null; //错误
▓▓▓▓▓▓ void类型
使用void表示没有任何类型,例如一个函数没有返回值,意味着返回void
function hello(): void{
alert('hello Angular');
}
▓▓▓▓▓▓ never类型
never是其他类型(包括null和undefined)的子类型,代表从不会出现的值,这意味着声明为never类型的变量只能被never类型所赋值,在函数中通常表示为抛出异常或无法执行到终止点
let x: never;
let y: number; //报错
x = 123; //正确
y = x;
参考资料:
揭秘Angular2第3章
TypeScript入门-基本数据类型的更多相关文章
- TypeScript入门
博客园首发,转载请注明出处,多谢支持.http://www.cnblogs.com/xuema/ 一.TypeScript TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaSc ...
- TypeScript学习笔记—数据类型
TypeScript 数据类型 Boolean 类型 let isDone: boolean = false; // tsc => var isDone = false; Number 类型 l ...
- typescript 入门教程一
##### 从今天开始,持续更新typescript入门教程系列.... 目前ts越来越火,主流的前端框架,好比*angular,vue 3*均是采用ts来编写,所有很多公司的项目都是用**ts**来 ...
- TypeScript 入门教程学习笔记
TypeScript 入门教程学习笔记 1. 数据类型定义 类型 实例 说明 Number let num: number = 1; 基本类型 String let myName: string = ...
- TypeScript之基本数据类型
前言 最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新.主要是手头很缺人,如果有谁有兴趣加入我们的话,可以私聊我,这样我就能继续造福社区了,同时还有 ...
- TypeScript入门指南(JavaScript的超集)
TypeScript入门指南(JavaScript的超集) 你是否听过 TypeScript? TypeScript 是 JavaScript 的超集,TypeScript结合了类型检查和静态分析 ...
- TypeScript入门实例
前言 TypeScript是JavaScript的超集,微软公司开发,利用es6语法,实现对js的面向对象编程思想,写代码的时候会像强类型语言一样,指定参数类型.返回值类型,类型不对会报错,但编译后还 ...
- typeScript中的数据类型
/* typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean) 数 ...
- TypeScript入门一:配置TS工作环境
配置手动编译TS文件工作环境 配置webpack自动化打包编译工作环境(后面补充) 一.TypeScript入门学习引言 进入主题之前,首先说明这个系列的博客是我刚刚接触TypeScript的学习笔记 ...
随机推荐
- PHP面向对象(OOP)----分页类
> 同验证码类,分页也是在个人博客,论坛等网站中不可缺少的方式,通过分页可以在一个界面展示固定条数的数据,而不至于将所有数据全部罗列到一起,实现分页的原理其实就是对数据库查询输出加了一个limi ...
- DOM范围
前面的话 为了让开发人员更方便地控制页面,DOM定义了“范围”(range)接口.通过范围可以选择文档中的一个区域,而不必考虑节点的界限(选择在后台完成,对用户是不可见的).在常规的DOM操作不能更有 ...
- c#类,接口,结构,抽象类介绍 以及抽象和接口的比较
c#中的类是最常见的实际上就是对某种类型的对象定义变量和方法的原型. 结构是值类型,而类是引用类型. 1.与类不同,结构的实例化可以不使用 new 运算符.结构可以声明构造函数,但它们必须带参数. 2 ...
- asp.net core mvc剖析:处理管道构建
在启动流程文章中提到,在WebHost类中,通过BuildApplication完成http请求处理管道的构建.在来看一下代码: ...... //这个调用的就是Startup.cs类中的Config ...
- 关于Test--Pattern Generator IP核的测试
关于Test--Pattern Generator IP核的测试 1.Test--Pattern Generator 功能介绍 生成24-bit RGB视频流,此IP核可以用于系统测试,不需要先在片上 ...
- LVS的十种调度算法
LVS十种调度算法 1.静态调度: ①rr(Round Robin):轮询调度,轮叫调度 轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重 ...
- TypeScript-01-变量、基本类型和运算符
基本类型 基本类型有boolean.number.string.array.void.所有类型在TypeScript中,都是一个唯一的顶层的Any Type 类型的自类型.any关键字代表这种类型. ...
- Angular.js!(附:聊聊非原生框架项目)
最近,为了项目接触了一个很火的前端框架Angular.js,下面就Angular做一个简介吧(大牛请绕步,只针对没有接触过angular的人). Angular.js是一款精简的前端框架,如果要追溯它 ...
- 【转】JDBC连接数据库
创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...
- 每天一个linux命令(34)--top命令
今天给领导发邮件,我这边虽然显示发出去了,但是他那边一直没收到,结果我以为我发了,他又一直在那边等结果.所以说,以后要另外发个信息或者QQ微信之类的说一声. top命令是Linux 下常用的性能分析工 ...