您的位置:首页 > Web前端 > JavaScript

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

2020-04-05 07:16 701 查看

本系列目的: 列出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);
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
刘翾 博客专家 发布了167 篇原创文章 · 获赞 275 · 访问量 59万+ 他的留言板 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: