美文网首页
001__基础类型

001__基础类型

作者: 动感超逗 | 来源:发表于2018-09-04 14:44 被阅读3次

let ct:boolean = false

let ct:string = 'nihao'

let ct:number = 123

let ct:number[] = [1,2,3]

let ct:string[] = ['a','b','c']

元组Tuple

let x: [string, number];
x = ['hello', 10]; // OK
// Initialize it incorrectly
x = [10, 'hello']; // Error

向数组添加内容

x[3] = 'a' //Ok
x[4] = 123 //Ok
x[5] = true //Error

只能添加string || number
如果let x: [string, boolean];
则只能添加string || boolean

Any

当你不知道数据类型 这个代表所有

let notSure: any = 4;
notSure = "maybe a string instead"; //Ok
notSure = false; // Ok

let list: any[] = [1, true, "free"];
list[1] = 100;

与Object 对比

Object允许赋值任何类型但是不能调用他的任何方法(就算有)

let notSure: any = 4.67;
notSure.toFixed(); // Ok 打印5

let prettySure: Object = 4.67;
prettySure.toFixed(); // Error

Void

某种程度上来说,void类型像是与any类型相反,它表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void:

function warnUser(): void {
    alert("This is my warning message");
}
//声明一个void类型的变量没有什么大用,因为你只能为它赋予undefined和null:

let unusable: void = undefined;

Null 和 Undefined

TypeScript里,undefined和null两者各自有自己的类型分别叫做undefined和null。 和 void相似,它们的本身的类型用处不是很大:

// Not much else we can assign to these variables!
let u: undefined = undefined;
let n: null = null;

Never

never类型表示的是那些永不存在的值的类型。
例如, never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型; 变量也可能是 never类型,当它们被永不为真的类型保护所约束时。
never类型是任何类型的子类型,
也可以赋值给任何类型;
然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)。
即使 any也不可以赋值给never。

下面是一些返回never类型的函数:

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

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

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

类型断言

有时候你会遇到这样的情况,你会比TypeScript更了解某个值的详细信息。 通常这会发生在你清楚地知道一个实体具有比它现有类型更确切的类型。

通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。 类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只是在编译阶段起作用。 TypeScript会假设你,程序员,已经进行了必须的检查。

类型断言有两种形式。 其一是“尖括号”语法:

let someValue: any = "this is a string";

let strLength: number = (<string>someValue).length;
另一个为as语法:

let someValue: any = "this is a string";

let strLength: number = (someValue as string).length;

相关文章

  • 001__基础类型

    元组Tuple Any 当你不知道数据类型 这个代表所有 与Object 对比 Object允许赋值任何类型但是不...

  • 静态类型&自定义类型&基础类型&对象类型

    静态类型 自定义类型 基础类型 null、nudefined、symbol、boolean、void 基础类型 对象类型

  • 时间对象、引用类型

    问题 基础类型有哪些?复杂类型有哪些?有什么特征?基础类型:String 类型、Null 类型、Number 类型...

  • typescript学习笔记-基础类型

    基础类型快速入门 基础类型 string,number,boolean 数组类型 string,number,bo...

  • 基础类型和对象类型

    静态类型分为两种,基础类型和对象类型 基础类型包括 number string null undefined sy...

  • 时间对象、引用类型

    持续做你不会做的事。。 问答 1.基础类型有哪些?复杂类型有哪些?有什么特征? 基础类型基础类型包括:string...

  • 前端知识体系

    html基础 css基础 盒模型 BFC 布局(栅格概念、典型布局) js基础 基本数据类型,类型检测, 自动类型...

  • JS学习笔记——浅拷贝与深拷贝

    基础类型与引用类型 五大基础类型 Underfied Null Boolean Number String 他们是...

  • OC基础数据类型

    一、基础数据类型 数据类型基础数据类型:int / float / double / char / bool / ...

  • 时间对象、引用类型

    问答 1. 基础类型有哪些?复杂类型有哪些?有什么特征? 基础类型:基础类型(数值,字符串,布尔值,null,un...

网友评论

      本文标题:001__基础类型

      本文链接:https://www.haomeiwen.com/subject/fibgwftx.html