首页 > 其他 > 详细

1、类型

时间:2021-09-10 01:01:14      阅读:13      评论:0      收藏:0      [点我收藏+]

一、基础类型

布尔值
let isDone: boolean = false;

数字
let decLiteral: number = 6;

字符串
let name: string = "bob";

数组
let list: number[] = [1, 2, 3];

元组 Tuple
let x: [string, number]; x = [‘hello‘, 10];

枚举(enumeration [??nju?m??re??n])
enum Color {Red, Green, Blue} let c: Color = Color.Green; //1 let d: string = Color[1]; //Green

Any
let notSure: any = 4; notSure = "maybe a string instead"; notSure = false; // okay, definitely a boolean

跟object不一样,any的话可以调用里面的方法,object只能读取属性

Void
function warnUser(): void { console.log("This is my warning message"); } // 函数没有返回值

let unusable: void = undefined; //void只能变成null / undefined

Null 和 Undefined
let u: undefined = undefined; let n: null = null;

Never

never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型
never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)。 即使 any也不可以赋值给never。

`

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
throw new Error(message);
}

// 推断的返回值类型为never
function fail() {
return error("Something failed");
}

// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
while (true) {
}
}

`

Object

object表示非原始类型,也就是除number,string,boolean,symbol,null或undefined之外的类型。

使用object类型,就可以更好的表示像Object.create这样的API。例如:

`


declare function create(o: object | null): void;

create({ prop: 0 }); // OK
create(null); // OK

create(42); // Error
create("string"); // Error
create(false); // Error
create(undefined); // Error

`

类型断言

类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只是在编译阶段起作用。 TypeScript会假设你,程序员,已经进行了必须的检查。
类型断言有两种形式。 其一是“尖括号”语法:
<pre> let someValue: any = "this is a string"; let strLength: number = (<string>someValue).length; </pre>

另一个为as语法:
<pre> let someValue: any = "this is a string"; let strLength: number = (someValue as string).length; </pre>

1、类型

原文:https://www.cnblogs.com/mingliangge/p/15236738.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!