typescript的基本类型
boolean
string
模版字符串,它可以定义多行文本和内嵌表达式。
这种字符串是被反引号包围,并且以${ expr }这种形式嵌入表达式。
let str1: string = 'book';
let str2 = "i love read";
console.log(str2 + `, so i love ${str1}`);
number
TypeScript里的所有数字都是浮点数。这些浮点数的类型是number。
let num1: number = 6; //十进制
let num2: number = 0xf; //十六进制
let num3: number = 0b1010;//二进制
let num4: number = 0o17; //八进制
console.log(num1);
console.log(num2);
console.log(num3);
console.log(num4);
Array<>
熟悉数组的定义方式
let words: Array<string> = ['blue', 'red'];
let people: string[] = ['black', 'green'];
console.log(words);
tuple
元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。
注意数组和元组的区别:
第一点:数组中的所有数据的类型一致,但是元组中可以不一致。
第二点:数组中的长度并不固定,但是元组的长度必然固定。
TypeScript在JavaScript的基础上添加了一个枚举类型
枚举类型的一个特点就是从枚举值得到该值对应的名字
enum Color {Red=1, Black=2, Blue=3}
console.log(Color.Red);
console.log(Color[1]);
any
一般而言,当我们定义一个变量时,需要为它指定一个类型。
如果所赋的值和定义的类型不一致,那么类型检查就通过不了。
但是,如果我们为一个变量指定的类型是any。那么就可以在
不确定变量类型的情况下,通过类型检查这一关。
比如,我们给一个变量赋值,但是这个值依据条件不同返回的类型不同。
在这种情况下,你就没有办法事先确定它的类型。
let runtime: any = 1;
let condition = Math.random();
if (condition > 0.5) {
runtime = 1;
} else {
runtime = 'come here'
}
console.log(runtime);
void
any和void完全相反
void表示没有任何类型。当一个函数没有返回值时,往往返回void
function noValue() :void {
console.log('has no value');
}
never
never类型表示的是那些永不存在的值的类型。
function error(message: string): never {
throw new Error(message);
}
类型断言
类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。
它没有运行时的影响,只是在编译阶段起作用。
通过类型断言这种方式可以告诉编译器,程序员已经进行了必须类型的检查。
类型断言有两种形式。 其一是“尖括号”语法:
let score = '123';
let len: number = (<string>score).length;
另一个为as语法:
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
|
请发表评论