全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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); //2

枚举默认下标是0,也可以手动修改

enum Color {red = 2,green = 3,blue = 6};
let c: Color = Color.blue;
console.log(c); //6

任意值类型(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;

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# typescript  # 数据类型  # 基本类型  # typescript入门  # TypeScript类型系统自定义数据类型教程示例  # TypeScript中定义变量方式以及数据类型详解  # Typescript中的数据类型实例总结  # 一文了解TypeScript数据类型  # TypeScript 安装使用及基本数据类型  # typescript基本数据类型HTMLElement与Element区别  # 布尔  # 报错  # 情况下  # 都是  # 是一个  # 你可以  # 浮点  # 就不  # 是由  # 没有任何  # 你在  # 两种  # 可以用  # 中有  # 把他  # 要想  # 三种  # 就得  # 可选  # 来自于 


相关文章: 电商网站制作价格怎么算,网上拍卖流程以及规则?  建站主机如何选?性能与价格怎样平衡?  如何基于云服务器快速搭建个人网站?  如何高效搭建专业期货交易平台网站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何快速搭建高效香港服务器网站?  西安专业网站制作公司有哪些,陕西省建行官方网站?  建站之星如何助力网站排名飙升?揭秘高效技巧  青浦网站制作公司有哪些,苹果官网发货地是哪里?  linux top下的 minerd 木马清除方法  如何通过服务器快速搭建网站?完整步骤解析  如何在景安服务器上快速搭建个人网站?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  如何获取开源自助建站系统免费下载链接?  已有域名如何免费搭建网站?  如何确保西部建站助手FTP传输的安全性?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  网页设计与网站制作内容,怎样注册网站?  ,怎么在广州志愿者网站注册?  怎么将XML数据可视化 D3.js加载XML  导航网站建站方案与优化指南:一站式高效搭建技巧解析  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  SQL查询语句优化的实用方法总结  如何在阿里云域名上完成建站全流程?  如何在建站之星绑定自定义域名?  威客平台建站流程解析:高效搭建教程与设计优化方案  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  Bpmn 2.0的XML文件怎么画流程图  如何通过二级域名建站提升品牌影响力?  如何高效利用亚马逊云主机搭建企业网站?  h5在线制作网站电脑版下载,h5网页制作软件?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  简单实现Android验证码  如何撰写建站申请书?关键要点有哪些?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  高防服务器租用如何选择配置与防御等级?  如何在阿里云高效完成企业建站全流程?  MySQL查询结果复制到新表的方法(更新、插入)  如何通过建站之星自助学习解决操作问题?  黑客如何通过漏洞一步步攻陷网站服务器?  常州自助建站工具推荐:低成本搭建与模板选择技巧  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  移民网站制作流程,怎么看加拿大移民官网?  javascript中的try catch异常捕获机制用法分析  建站中国官网:模板定制+SEO优化+建站流程一站式指南  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  定制建站流程解析:需求评估与SEO优化功能开发指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。