这篇文章将会来练习一下如何使用typescript的基础数据类型。
学习目标
- 练习typescript的基础数据类型使用方式
学习时间
- 5分钟
事前准备
请参看如下文章,结合gulp进行简单环境搭建:
布尔类型
typescript和javascript中都是一样,boolean类型的变量,其值为true或者false,是最为基础的数据格式。
使用例:
let isDone: boolean =true;
数字类型
在javascript中,所有的数字都是浮点类型,typescript中也是如此。另外除了支持10进制和16进制,typescript中也支持ECMAScript 2015中引入的二进制和八进制。
使用例:
let decimal: number = 6;
let hex: number = 0x00ff;
let binary: number = 0b0011;
let octal: number = 0o011;
字符串
javascript中使用单引号或者双引号来表示字符串。同时还可以使用${表达式}
的方式进行使用。
使用例:
let color: string = “blue”;
color = ‘red’;
let namestr: string = `Gene`;
let age: number = 37;
let sentence: string = `Hello, my name is ${ namestr }.
I’ll be ${ age + 1 } years old next month.`;
let sentence: string = “Hello, my name is ” + fullName + “.\n\n” +
“I’ll be ” + (age + 1) + ” years old next month.”;
数组Array
像javascript一样,typescript可以有两种方式使用数组
方式1:普通方式
使用例:let list: number[] = [1, 2, 3];
方式2:泛型方式
let list: Array<number> = [1, 2, 3];
元组Tuple
当你希望使用的数组由不同类型所组成,你就可以使用Tuple,跟很多语言中的Tuple很类似。
使用例:
let x: [string, number];
x = [“hello”, 10];
枚举Enum
枚举是typescript对javascript的补充,使得代码更容易被阅读。
使用例:
enum Color {Red = 1, Green = 2, Blue = 4};
let c: Color = Color.Green;
let colorName: string = Color[2];
枚举类型的元素编号缺省从0开始,也可以手动全部或者部分指定。
任意值Any
当我们无法确定编译阶段的类型,有可能为运行时确定的类型时,可以通过Any类型以避开编译器的检查。
使用例:let notSure: any = 4;
notSure = “maybe a string instead”;
notSure = false; // okay, definitely a boolean
void
void更像是any的相反的用法,一般用来定义一个没有返回值的函数,或者定义一个变量而这个变量只能有null或者undefined的赋值可能性。
使用例:
function warnUser(): void{
console.log(“This is my warning message”);
}
warnUser();
let unusable: void = undefined;
Null和Undefined
默认情况下,null和undefined是各种类型的子类型,但是如果当把–strictNullChecks模式打开时,所有情况就变得严格起来了,如果这种情况下再想把null赋值给一个string类型,就要使用别的办法比如union了。缺省这个模式是关闭的,typescript官方是鼓励打开这个模式进行实践的。
使用例:
let u: undefined = undefined;
let n: null