TypeScript学习笔记-基础类型

230 阅读1分钟

基础类型

布尔值

let isDone: boolean = false;

数字

// 所有数字都是浮点数
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;  // 十六进制
let binaryLiteral: number = 0b1010;  // 二进制
let octalLiteral: number = 0o744;  // 八进制

字符串

let aname: string = 'bob';  
let age: number = 18;
let sentence: string = `My name is ${ name }.
I am be ${ age } years old.`;  // 模版字符串

数组

let list: number[] = [1, 2, 3, 4];  // 元素类型后接[]
let arr: Array<number> = [1, 2, 3, 4];  // 数组泛型

元组Tuple

// 已知元素数量和类型的数组,各元素的类型不必相同
let tupel: [string, number] = ['hello', 20, 20, 'false'];
tupel[0] = 'hi';

枚举

enum Color {Red, Green = 3, Blue};
let color: Color = Color.Blue;  // color = 4

Any

// 给不清楚类型的变量指定一个类型,表示任意类型
let notSure: any = 4;
notSure.toFixed();
notSure = false;

let notSureList: any[] = [1, true, 'free'];
notSureList[1] = 100;

Void

// 表示没有任何类型,eg:函数没有返回值
function warnInfo (argument): void {
	alert("This is my warning message");
}
let unusable: void = undefined;  // void 声明变量只能赋予undefined和null

Null 和 Undefined

// 所有类型的子类型,eg: 可以把 null和undefined赋值给number类型的变量
let isNull: null = null;
let isUndefined: undefined = undefined;

Never

// 永不存在的值的类型,是任何类型的子类型,有类型是never的子类型.
// never类型是那些总是会抛出异常或(根本就不会有返回值)的函数表达式或箭头函数表达式的返回值类型
function error (message: string): never {
	throw new Error(message);
}

断言

// 没有运行时的影响,只是在编译阶段起作用
let someValue: any = 'this is a string';
let strLength1: number = (<string>someValue).length;  // 尖括号语法
let strLength2: number = (someValue as string).length;  // as语法