TypeScript Any类型
Any类型指示Typescript暂停对指定变量的类型检查。在处理您不知道类型的动态内容以及将Javascript的代码库转换为打字稿时非常有用。您可以使用Javascript的隐式类型与使用Any类型声明的变量。
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false;
TypeScript void类型
不应该用于变量,使用null
或undefined
。
但是,将它用于不返回值的函数。
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
函数表达式或箭头函数表达式的返回类型,它总是抛出异常或永不返回的异常;变量也会获得never
被any
类型的守卫缩小的类型。
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教程