web前端开发

TypeScript

2020-04-27  本文已影响0人  南崽

点击进入官网

定义

tsc greeter.ts

安装

npm i typescript -g

tsc常用命令

tsconfig.json

{"compilerOptions": {
"outDir": "./dist", //输出文件夹
"rootDir": "./src", //源文件夹
}}

ts常见类型

boolean 布尔

let b:boolean = true;

number 数字

let num:number = 18;

string 字符串

let str:string = "i love China"

数组

let arr1:number[] = [1,3,5]
let arr2:Array<String>=["i","love"];
let arr3:any = [1,2,3,"abc"];

对象 Object

let obj:Object = {name:"abc",age:18}

任意 any

let notSure:any = "i am abc";

没有返回 void

function fun():void{}

null类型只能是null

let n:null = null;

undefined 没有定义

let u:undefined = undefined;

接口

定义

interface Person {
name:string,
age:number
}

实现接口

let user:Person = {
name:"abc",
age:18
}

使用

function func(p:Person){
console.log(p);
}
func(user);

可选接口

interface Person{
name?:string,
age?:number
}

只读接口

interface Ponit{
readonly x:number,
readonly y:number
}

函数

函数返回值

function fun():void{}
// 无返回值
function fun():string{}
// 返回字符串类型

一旦定义了返回类型,在函数内部必须也要返回该类型

参数

function add(a:number,b:number):number{...}
function add(a:number,b?:number):number{...}
function add(a:number,b:number=15):number{...}

箭头函数

let add = (a:number,b:number):number=>a+b;

类(和ES6一致)

访问修饰关键词

修饰词既可以修饰属性,也可以修饰方法

class Animal{
public name:string;
constructor(name:string){this.name = name;}
}
class Animal{
constructor(publicname:string){this.name = name;}
private sayHi(){}
}

存储器

设置或者访问对象某个属性时,可以做一些额外的操作
实现的封装,私有变量的隐藏

步骤
private_age:number;
set age(val:number){
this._age = val;
// 可以写其他逻辑
}

当实例 .age = xxx 时候会被调用这个方法

get age():number{
return this._age;
}

当执行实例 .age 时候被调用

let c = new Cat("abc",18);
c.age; // get age方法被调用
c.age = 19;  //set 方法被调用
上一篇下一篇

猜你喜欢

热点阅读