TypeScript与JavaScript不同之处系列(一) ===> 基础类型

版权声明:原创文章,如想转载,请注明原文网址,注明出处;否则,禁止转载;谢谢配合! https://blog.csdn.net/c_kite/article/details/85232021

本系列目的: 列出TypeScript与JavaScript的不同点, 缩小文档内容, 提高学习速度. 原文档地址: https://www.tslang.cn/index.html

基础类型

let isDone: boolean = false;
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d; // 16进制
let binaryLiteral: number = 0b1010; // 2进制
let octalLiteral: number = 0o744; // 8进制
let name: string = "bob";
let unusable: void = undefined; // 只能赋值undefined和null:
function create(o: object | null): void; // 传入参数只支持object或者null, 返回值为null或undefined
let notSure: any = 4; // 同any字面意思, 什么类型都可以
let list: any[] = [1, true, "free"];

// 数组两种表示形式
let list: number[] = [1, 2, 3];
let list: Array<number> = [1, 2, 3];


// 元组 Tuple
let x: [string, number];
x = ['hello', 10]; // OK
// 对于越界元素 字符串可以赋值给(string | number)类型
x[3] = 'world'; // OK



// 枚举
enum Color {Red, Green, Blue}
let c: Color = Color.Green;
// 默认情况下,从0开始为元素编号。 你也可以手动的指定成员的数值。 例如,我们将上面的例子改成从 1开始编号:
enum Color {Red = 1, Green, Blue}
let c: Color = Color.Green;
// 或者,全部都采用手动赋值:
enum Color {Red = 1, Green = 2, Blue = 4}
let c: Color = Color.Green;
// 枚举类型提供的一个便利是你可以由枚举的值得到它的名字。 例如,我们知道数值为2,但是不确定它映射到Color里的哪个名字,我们可以查找相应的名字:
enum Color {Red = 1, Green, Blue}
let colorName: string = Color[2];
console.log(colorName);  // 显示'Green'因为上面代码里它的值是2




// never类型表示的是那些永不存在的值的类型。 例如, never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型; 变量也可能是 never类型,当它们被永不为真的类型保护所约束时。
// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

猜你喜欢

转载自blog.csdn.net/c_kite/article/details/85232021