博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TypeScript入门( 二)
阅读量:4688 次
发布时间:2019-06-09

本文共 2055 字,大约阅读时间需要 6 分钟。

观看bilibili的视频总共总结了三篇文章(入门一,二,三);每一篇的内容都是同一类型的,这样理解起来更加方便;之后我回去找一些其他的TypeScript的资料去更加深入的学习一下;

(1)typeScript接口:

  typescript中的接口类似于java,同时还增加了更灵活的接口类型,包括属性、函数、可索引和类等;

 

//1.ts自定义方法传入参数,对json进行约束function printLable(labelInfo:{label:string}):void{console.log('haha')}printLabel({label:'xiaoming '}); //必须包含label//2.对批量方法传入参数进行约束interface FullName{   firstName: string;   secondName: string;}function printName(name:FullName){   console.log(name.firstName)}var obj = {   age:20,   firstName: 'xiao',   secondName: 'san'}printName(obj);//若直接将对象写入参数中,那么只能包含firstName和secondName;//3.接口可选属性interface FullName{   firstName: string;   secondName?: string;}//函数类型接口: 对方法传入的参数以及返回值进行约束 和批量约束//加密的函数类型接口interface encrypt{  (key:string,vakue:string):string;}var md5:encrypt = function(key:string,vakue:string):string{  //模拟操作  return key + value;}console.log(md5('name': 'xiaoming'));var sha1:encrypt = function(key: string,value: string): string{   return key+'--'+value;}console.log(sha1('name': 'xiaoming'));//可索引接口;数组,对象的约束(不常用)interface UserArr{  [index:number]:string}var arr: UserArr = ['aa','bb'];console.log(arr[0]);interface UserObj{  [index:string]:any}var obj:UserObj = [name:'12'];//类类型接口:对类的约束 和 抽象类有点相似interface Animal{  name:string;  eat(str:string):void;}class Dog implements Animal{   name: string;   constructor(name:string){     this.name = name   }   eat(){ //不添加就会报错      console.log(this.name + "吃狗粮 ");   }}var d = new Fog('二哈');d.eat();//接口扩展: 接口可以继承接口interface Animal{  ear(): void;}interface Person extends Animal{   work():void;}class Programmer{   public name: string;   constructor(name:string){     this.name = name;  }  coding(code:string){     console.log(this.name + code)  }}class Web extends Programmer implements Person{  public name: string;  constructor(name:string){     this.name = name;  }  eat(){      console.log(this.name + '喜欢吃')  }   work(){      console.log(this.name + '喜欢写')  }}var w = new Web('xiaoming');w.coding('写代码');

越看越觉得跟jave和c#有相似之处,有空的话也要捡起来我的java啊,后续再说...

转载于:https://www.cnblogs.com/naniandongzhi/p/10599960.html

你可能感兴趣的文章
数据结构之-冒泡排序
查看>>
【基础练习】【区间DP】codevs1090 加分二叉树题解
查看>>
HTML5:web socket 和 web worker
查看>>
[转载]从零开始学习OpenGL ES之五 – 材质
查看>>
mobiscroll手机端插件 好用(时间、日历、颜色)
查看>>
利用vertical-align:middle实现在整个页面居中
查看>>
★★停止动画和停止所有动画$(selector).stop() 详解
查看>>
160429、nodejs--Socket.IO即时通讯
查看>>
Poj2826 An Easy Problem
查看>>
ZipUtils
查看>>
浏览器最大连接数
查看>>
memcached系列之二
查看>>
about mobile web
查看>>
ajax 的post方法用例(带循环)
查看>>
009_【OS X和iOS系统学习笔记】 OS X架构
查看>>
中止法
查看>>
Android mainfests手记
查看>>
列表的方法
查看>>
锋利的jQuery--读书笔记
查看>>
herbetr遇到 Cannot cast java.lang.Character to java.lang.Stringat java.lang.Class.cast
查看>>