• typescript


    let a : number = 10
    let b : boolean = false
    let c : string = 'zzh'
    let d : number[] = [1,2,3]
    let e : Array<string> = ['zz','aa']
    let f : [number, string, boolean] = [1,'zz',false]
    
    function add (a:number,b:number) { 
          return a + b
    }
    var result = add(10,20)
    
    function add1 (a : any):number { //可以传入任意类型的值, 返回的结果必须是number类型
          return a + b
    }
    var result1 = add1(10)
    
    // 枚举
    enum Gender { man , women}
    let gender:Gender = Gender.man
    
    let g : string | number
    g = 10
    g = 'zz'
    
    
    function get(url:string, data:object, success:Function) :boolean {
          return false
    }
    
    
    
    interface AjaxConfig {
          readonly url: string, //readonly 相当于 const
          type: string,
          async?:boolean  // ?可以写boolean值 或者 不写
          [propName: string] :any  //字符串索引签名(可以多写不报错)
    }
    
    function ajax(options:AjaxConfig) {           
    }
    
    ajax({
          url:'a',
          type:'zz',
          success(){},
          abc(){}
    } as AjaxConfig) // 忽略不检查
    
    
    
    let h : ReadonlyArray<number> = [1,2,3]  //只读数组
    
    
    
    function zz():void { //void 代表没有返回值
    
    }
    var res = zz()
    
    
    
    
    function aa():number { 
          return 11
    }
    var res1 = aa()
    
    
    function bb(name:string):string {  //传入参数要string类型,返回值也要string类型
          return 'aa'
    }
    var res2 = bb('1')
    
    
    let say = function (a:number, b?:number) {//b可传可不传
          if(b){
                return a + b
          }else{
                return a 
          }
    }
    say(1,2)
    
    
    let say1 = function (a:number, b :number = 0 ) {//b可传可不传
                return a + b
    }
    say1(1,2)
    
    
    
    let say2 = function (...arys:number[]) {
          return arys.reduce((a,b) => {
                return a +b
          })
    }
    var res3 = say2(1,2,3,4,5,6)
    console.log(res3)
    
    
    
    
    //
    
    // function Person(){
    //       this.sayHi =function (){
    
    //       }
    // }
    
    // let p1 = new Person()
    class Person {
          static img : string = 'zzz' //直接把属性挂在了类上面,new 出来的对象获取不到  , 静态属性static
          readonly name : string  //只读      
          constructor(name : string){
                this.name = name
          }  
          sayHi(){
                console.log('my name is wang duo yu')
          }   
    }
    let p1 = new Person('wang duo yu')
    console.log(p1)
    console.log(p1.sayHi())
    console.log(Person.img)
    
    
    // 类继承
    class Dog {
          wang(){
                console.log('wang wang wang   ')
          }
    }
    
    class Jinmao  extends Dog { //从 Dog中继承 
          hh (){
                console.log('jmjmjm')
          }
    }
    
    let J1 = new Jinmao()
    J1.hh()
    J1.wang()
    
    class Bog {
          private name : string = 'wangduoyu' //私有的private    public公有的
          setName( val:string ){
                 this.name = val
          }
          say1(){
                console.table(this.name + '-----wdy') 
          }
    }
    let B1 = new Bog()
    B1.setName('WANGDUOYUDE BABA')
    B1.say1()
    
    
    class Mao {
          name : string = 'xiaomao'
          private _age  : number = 9
    
          get Age () :number {    // get  存取器
                return this._age
          }
    
          set Age ( val : number ) { // 存取器
                if( val < 1 ) return
                if( val > 30 ) return
                this._age = val
                
          }
    
    }
    let M1 = new Mao()
    console.log(M1.Age)
    
    
    
    abstract class Dog1 { //abstract抽象类   若要继承这个类,必须实现里面的方法
          abstract jiao() : void  //void 无返回
          
    }
    
    class jingmao extends Dog1 {
          jiao(){
    
          }
    }
    
    class zangao extends Dog1 {
          jiao(){
    
          }
    }
    
    
    
    // 接口与类的组合
    interface ifly {
          fly() : void
    }
    interface ieac{
          fly() : void
    }
    
    interface izzz extends ifly, ieac{
          
    }
    
    class Bird implements ifly, ieac {
          eat()  : void {
    
          }
          fly () : void {
    
          }
    }
  • 相关阅读:
    Spark技术栈
    Linux rm -rf删除文件不释放空间的解决办法
    MySQL 5.6.35 索引优化导致的死锁案例解析
    亲历者说 | 完整记录一年多考拉海购的云原生之路 转
    Spark实战(八)spark的几种启动方式
    Spark实战(七)spark streaming +kafka(Python版)
    stm32 IAP + APP ==>双剑合一
    Flask-APScheduler定时任务查询操作数据库(多文件/模块)
    flask框架开启定时任务简单案例flask_apscheduler
    Flask数据的增删改查(CRUD)
  • 原文地址:https://www.cnblogs.com/javascript9527/p/12501424.html
Copyright © 2020-2023  润新知