快速学习Typescript
简介: typescript 是JavaScript 的一个超集,它可以编译成纯JavaScript,Typescript可以再任何浏览器、任何计算机和任何操作系统上运行,并且是开源的。–官方的说法
本文只记js中未出现的概念 如 泛型、枚举、类型推论、高级类型等
一、安装
- 通过npm安装
npm install -g typescript
写入下面的代码到你的ts文件
function greeter(person) {
return "Hello, " + person;
}
let user = "Jane User";
document.body.innerHTML = greeter(user);
cd folder(你的文件夹)
tsc example.ts (编译你的ts文件)
会生成 example.js 文件
打开看看—应该差不多
二、泛型
泛型只可以指代多种数据类型的一种类型 一般用 表示泛型
举例: Hello world
//常规
function indentity(arg: number): number{
return arg
}
//假如我们这里要求参数类型可以是string
//用 any实现
function identity(arg: any): any{
return arg
}
//使用泛型实现
function identity<T>(arg: T): T{
return arg;
}
使用T型数组
function loggingIdentity<T>(arg: T[] : T[]){
console.log(arg.length);
return arg
}
//同上
function loggingIdentity<T>(arg: Array<T>) : Array<T>{
console.log(arg.length);
return arg;
}
使用不同的泛型参数名
function identity<T>(arg: T): T {
return arg;
}
let myIdentity: <U>(arg:U) => U = indenitty
使用带有调用签名的对象字面量来定义泛型函数:
function identity<T>(arg: T) : T {
return arg;
}
let myIdentity: {<T>(arg: T) : T} = indentity;
泛型类
class GenericNumber<T>{
zeroValue: T;
add: (x: T,y: T) => T
}
let myGenericNumber = new GenericNumber<number>();
myGenericName.zeroValue = 0;
myGenericNumber.add =