TypeScript 之 基础类型
Posted cag2050
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeScript 之 基础类型相关的知识,希望对你有一定的参考价值。
https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Basic%20Types.html
TypeScript 的 基础类型,包括:boolean、number、string、数组、Tuple(元组)、enum(枚举)、any、void、null、undefined、类型断言
- 2种方式定义数组:
- 在元素类型后面接上
[]
let list: number[] = [1, 2, 3];
- 使用数组泛型,
Array<元素类型>
:
let list: Array<number> = [1, 2, 3];
- 元组(Tuple):
元组类型表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为string和number类型的元组。
// Declare a tuple type
let x: [string, number];
// Initialize it
x = [‘hello‘, 10]; // OK
- enum类型是对javascript标准数据类型的一个补充。
enum Color {Red, Green, Blue};
let c: Color = Color.Green;
void:
void类型的变量,只能为它赋予undefined和nullnull 和 undefined
默认情况下null和undefined是所有类型的子类型。 就是说你可以把null和undefined赋值给number类型的变量。
然而,当你指定了--strictNullChecks标记,null和undefined只能赋值给void和它们各自。 这能避免很多常见的问题。 也许在某处你想传入一个string或null或undefined,你可以使用联合类型string | null | undefined。- 类型断言
类型断言 告诉编译器,“就要用我指定的类型”。
类型断言好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只是在编译阶段起作用。 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;
两种形式是等价的。然而,当你在TypeScript里使用JSX时,只能使用 as语法断言。
以上是关于TypeScript 之 基础类型的主要内容,如果未能解决你的问题,请参考以下文章
从 TypeScript 类型定义或 GraphQL 片段定义生成 JavaScript 空对象
Typescript入门手册之基本类型在TypeScript中的应用