TypeScript各种数据类型


TypeScript Any类型

Any类型指示Typescript暂停对指定变量的类型检查。在处理您不知道类型的动态内容以及将Javascript的代码库转换为打字稿时非常有用。您可以使用Javascript的隐式类型与使用Any类型声明的变量。

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

TypeScript void类型

不应该用于变量,使用nullundefined
但是,将它用于不返回值的函数。

const greeting(): void {
    alert('Hello, and Welcome to My Webpage!');
 }

TypeScript undefined的类型

在TypeScript中,与null类型相同,未定义类型的值为undefined。未定义是每种类型的有效值。

let u: undefined = undefined;

使用--strictNullChecks标志时,undefined只能分配给void及其类型。

let s = "foo";
 s = null; // error, 'null' is not assignable to 'string'
 let sn: string | null = "bar";
 sn = null; // ok

 sn = undefined; // error, 'undefined' is not assignable to 'string | null'

使用--strictNullChecks ,可选参数自动添加| undefined

function f(x: number, y?: number) {
    return x + (y || 0);
 }
 f(1, 2);
 f(1);
 f(1, undefined);
 f(1, null); // error, 'null' is not assignable to 'number | undefined'

TypeScript null类型

在TypeScript中,null类型的值为null。 Null是每种类型的有效值。

let u: null = null;

使用--strictNullChecks标志时,null只能分配给void及其类型。

let s = "foo";
 s = null; // error, 'null' is not assignable to 'string'
 let sn: string | null = "bar";
 sn = null; // ok

TypeScript never 类型

never类型表示从未发生的值的类型。例如, never函数表达式或箭头函数表达式的返回类型,它总是抛出异常或永不返回的异常;变量也会获得neverany类型的守卫缩小的类型。

never类型是每种类型的子类型,并且可分配给每种类型;但是,没有类型是never的子类型或可分配的(从不自己除外)。甚至任何都不可分配给永远。

// Function returning never must have unreachable end point
 function error(message: string): never {
    throw new Error(message);
 }

 // Inferred return type is never
 function fail() {
    return error("Something failed");
 }

 // Function returning never must have unreachable end point
 function infiniteLoop(): never {
    while (true) {
    }
 }

TypeScript 布尔类型

boolean是您的基本JavaScript真/假值。

let isDone: boolean = false;

TypeScript数字类型

TypeScript中的所有数字都是浮点值。 TypeScript支持ES6中的二进制和八进制文字值。

let decimal: number = 7;
let hex: number = 0xf00d;
let binary: number = 0b0110;
let octal: number = 0o531;

TypeScript字符串类型

字符串可以用''单引号或""双引号书写。 与您的代码保持一致并选择一种风格。

let dog: string = 'Fido';
 let activity: string = "Playing Outside";

可以使用模板文字来编写字符串:

let greeting: string = `Hello, ${firstName} ${lastName}, thank you for attending the ${eventName} event.`;

内置方法

在Typescript的类型中,您可以使用一些内置函数。每种类型都有共同和独特的方法。 您可以在下面阅读有关字符串类型方法中最常用的方法。

split

使用split函数,您可以在指定的分隔符处拆分字符串。您可以设置限制数,即可以说有多少拆分。 splitted字符串以数组类型返回。

let names: string = 'Sarah,Lily,John,Paula,Harvey';
 let array: string[] = names.split(',');
 //array = ['Sarah','Lily','John','Paula','Harvey']
 let array2: string[] = names.split(',',2);
 //array2 = ['Sarah','Lily']

SUBSTR

此方法返回一个子字符串,该子字符串以原始字符串的startAt字符startAt ,其长度为length

let names: string = 'Harvey Specter';
 let substr: string = names.substr(3,10);
 //substr = 'rvey Spect'

SUBSTR

此方法类似于substr(),但具有不同的参数。第二个参数也是关于原始字符串的索引,而不是长度编号。

let names: string = 'Harvey Specter';
 let substring: string = names.substring(3,10);
 //substring = 'rvey Spe'

TypeScript元组类型

表示一个数组,其中已知固定数量的类型元素,但不一样。

let arr: [string, number];

 // This is correct
 arr = ['Hello', 7];

 //This is incorrect
 arr = [7, 'Hello'];

访问已知索引之外的元素时,它将使用联合类型:

arr[3] = 'World!'
 // OK, 'string' can be assigned to 'string | number'

 // Error, 'boolean' is not a 'string | number'
 arr[5] = false;
 // Error, 'boolean' is not a 'string | number'

属性

在Typescript的类型中,您可以拥有一些buit-in属性。例如长度或其他每种类型的独特。

长度

这个属性说,有多少元素有它的元素。

let tuple = []; //you can initialize it after the declaration too, not just the method above
 tuple[0] = 10;
 tuple[1] = 'Mike';
 let number = tuple.length;
 //number = 2;

内置方法

在Typescript的类型中,您可以使用一些内置函数。每种类型都有共同和独特的方法。 下面你可以阅读有关元组类型方法中最常用的方法。

pop

从元组中删除最后一个元素。

var tuple = [10,'Emma',11,'Lily',12,'Mike Ross'];
 tuple.pop();
 //tuple = [10,'Emma',11,'Lily',12,]
 //We popped 'Mike Ross' from the tuple

push

将元素添加到元组的末尾。

var tuple = [10,'Emma',11,'Lily',12,'Mike Ross'];
 tuple.push('Rachel Zane');
 //tuple = [10,'Emma',11,'Lily',12,'Mike Ross','Rachel Zane']

TypeScript数组类型

您可以完全访问TypeScript中的数组。 可以在TypeScript中以两种不同的方式编写数组:

string[]
DataType后跟方括号[]

let names: string[] = ['Javier', 'Emma', 'John', 'Sophia', 'Emma'];

Array
Array后跟

let names: Array<string> = ['Javier', 'Emma', 'John', 'Sophia', 'Emma'];

内置方法

在Typescript的Array类型中,您可以使用一些内置函数。每种类型都有共同和独特的方法。 您可以在下面了解最常用的数组类型方法。在示例中,我们将使用上面的数组声明。

pop

从数组中删除最后一个元素并返回它。

var element = names.pop();
 //element = Emma
 var element2 = names.pop();
 //element2 = Sophia

push

将一个或多个元素添加到数组的末尾,并返回数组的新长度。

var length = names.push('Tobias');
 // names[] = ['Javier', 'Emma', 'John', 'Sophia', 'Emma', 'Tobias']
 // lenght = 6
 var length2 = names.push('Jack','Lily');
 // names[] = ['Javier', 'Emma', 'John', 'Sophia', 'Emma', 'Tobias','Jack','Lily']
 // lenght2 = 8

reverse

反转数组的顺序并返回它

var reverseNames = names.reverse();
 //reverseNames = ['Emma','Sophia','John','Emma','Javier']

更多TypeScript教程

学习更多TypeScript教程