博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TypeScript学习笔记(二):基本数据类型及数据转换
阅读量:5104 次
发布时间:2019-06-13

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

数据类型

我们来看看TypeScript中的基本数据类型都有哪些。

boolean

布尔值,支持true和false。

var isDone: boolean = false;

默认为undefined,此时其和true与false判断都为false。

1 var isDone: boolean;2 3 function run() {4     alert(isDone == true);//false5     alert(isDone == false);//false6 }7 8 run();

所以在使用boolean类型时要记得赋初值,以便避免以后的麻烦。

number

数字类型,如下:

var height: number = 6;

首先,TypeScript中对于数字只有这么一种类型,没有byte、short、int、uint、long、float、double等类型,而TypeScript的number实际上是一个64为的双精度浮点数,可以看做其它语言中的double类型。

需要注意的是,当不进行初始赋值时,所有的基本数据类型都默认为undefined类型,下面不再重复讲解。

string

字符串类型,如下:

var name: string = "bob";name = 'smith';

字符串的使用与JavaScript一致。

any

表示为任意类型,如下:

var notSure: any = 4;notSure = "maybe a string instead";notSure = false;

我们发现notSure可以设定为任意的类型。

我们也可以将其用在数组上,如下:

var list:any[] = [1, true, "free"];list[1] = 100;

undefined和null

null和undefined基本是同义的,只有一些细微的差别。

undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。

null表示"没有对象",即该处不应该有值。

参考:

void

用在函数返回值,和C++、Java用法一致,表示没有返回值:

function warnUser(): void {    alert("This is my warning message");}

Array

数组类型,可以有两种写法,如下:

var list:number[] = [1, 2, 3];var list:Array
= [1, 2, 3];

二维数组

var num: string[][] = [["asdf", "zxc"],["adsf"]];

其它使用方法和JavaScript中一致。

Object

可以当做Hash表来使用,如下:

1 var obj: Object = {}; 2  3 function run() { 4     obj["a"] = 123; 5     //obj.b = "asdf";//这种写法是错误的 6     obj["b"] = "asdf"; 7     obj[100] = true; 8  9     delete obj["100"];//删除使用 delete 关键字10 11     for (var key in obj) {12         alert(key);13         alert(obj[key]);14     }15 }16 17 run();

需要注意的是,该类型的键都是字符串类型,即所有当做键的对象都会调用toString()方法获得对应的字符串来作为键值保存对象。

Enum

枚举类型,如下:

enum Color {Red, Green, Blue};var c: Color = Color.Green;

另一种格式:

enum Color {Red, Green, Blue};var c: Color = Color[1];

同时还可以对每个枚举进行赋值,如下:

enum Color {Red = 1, Green, Blue};var c: Color = Color.Green;

这样,Green自动被赋值为2,Blue自动被赋值为3。

也可以全部进行赋值:

enum Color {Red = 1, Green = 2, Blue = 4};var c: Color = Color.Green;

我们还可以获得指定索引的枚举的名称:

enum Color {Red = 1, Green, Blue};var colorName: string = Color[2];alert(colorName);

需要注意的是,这里的值可以看做数组的下标,如下:

enum Color {Red = 100, Green, Blue};var colorName: string = Color[101];alert(colorName);//Green

数据转换

强制转换

将一个类型强制转换为另一个类型,如果转换失败编译时会报错,如下:

var str: string = 
num;//转换成功var strNum: number =
str;//编译报错

TypeScript中没有as关键字进行转换,都是强制转换。

instanceof

instanceof可以用来判断一个对象是否为指定的类型,如果是则返回true,否则返回false,如下:

if (obj instanceof String) {    alert("obj is string!");}

typeof

可以获取类型的字符串描述:

1 typeof 3 // "number"2 typeof "abc" // "string"3 typeof {} // "object"4 typeof true // "boolean"5 typeof undefined // "undefined"6 typeof function(){} // "function"

可参考:

转载于:https://www.cnblogs.com/hammerc/p/4908950.html

你可能感兴趣的文章
struts2 文件上传下载注解示例
查看>>
编写一个简单的JAVA WEB Servlet页面
查看>>
JSP:Cookie实现永久登录(书本案例)
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
linux--GCC用法
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
OWIN是什么?
查看>>
前端监控
查看>>
centos6.5 mysql忘记登入密码
查看>>
Trusted Execution Technology (TXT) --- 启动控制策略(LCP)篇
查看>>
clipboard.js使用方法
查看>>
绘图库:Matplotlib
查看>>
0906第一次作业
查看>>
Ceph Monitor基础架构与模块详解
查看>>
dbca:Exception in thread "main" java.lang.UnsatisfiedLinkError: get
查看>>
hdu 1232 畅通工程(并查集)
查看>>
移动开发平台-应用之星app制作教程
查看>>
jquery validate使用笔记
查看>>
主要的几个脑网络——整理自eegfmri的博客
查看>>