typeScript

typeScript基础

联系站长 作者:web知道 来源:未知 2019-12-13 16:19 我要评论

typeScript基础...

typeSrcipt语法
    枚举类型 enum
           语法:enum  gender{‘男’ , '女'}
              '男' = 5 可以把男的下标改为5
              enum的作用是声名一组不可改变的值,如const不同的是,const的对象或数组内的值是可变的
              使用gender[0]
    
     对象写法,声名对象后,不可动态添加属性,只能一开始就声名
              例 let A = { a:1}
                       A.b = 10  //报错
               
   任意类型 any
    空类型     void
    //注:null和undefine可以给任何类型赋值,null也可以给undefine赋值,undefine不能给null类型赋值

    泛类型
     函数写法
     function createArray<Type>(...arg:Type[]):Type[]{
         return arg
     }
     //Type声明一个类型
     createArray<number>(1,2,3,4,5,6)
     类写法
     class cache<Type= any>{
         private data = {}
         set(key:string,val:Type){
              this.data[key] = val
         }
         get(key:string):Type{
             return this.data[key]
         }
     }
    let c:Cache<string> = new Cache<string>()
    c.set('hello','你好')
    
   只读修饰符
     readonly   只能用于属性,不能用于方法    (可以配合权限修饰符一起使用,如果配合一起使用,请把权限修饰符放第一位)只能在默认时赋值一次

   权限修饰符
    public 公开    可以给类外部使用
    protected 受保护的  只能给当前类和子类使用
    private 私有  只能给当前类使用

    变量声明写法
    params:string   字符串类型
    params:(number | string) 组合类型
    params:Array<string>  泛型需要在后面加上类型  简写params:string[]
                 如params:Array<any> 指数组里的值可以是任意类型

    类写法
       简写方式

        constructor(public name:string,public age:number,public love:string){
             //此方式默认this.name = name 所以里面不需要再写任何东西
        }
        //用此种方式,即不需要在再上方单独定义


    class xiaoJieJie {
        //注,在typeScript的类里面,constructor里新增属性需要在constructor的上方先定义
        public name:string //公开
        protected age:number //受保护的
        private love:string //私有
        constructor(name:string,age:number,love:string){
            this.name = name
            this.age = age
            this.love = love
        }
        // 注,如果有返回,需要把类型改成return返回数据的类型
        public say(): void {
            this.age = 28
            this.myLove()
        }
        // 有return写法
        private myLove(): string{
            return '不曾梦想过'
        }
        static sayHi(): void{
            console.log('这个静态方法吗')
        }
}

//声名时,如果是new一个类,那么声名的类型就是这个类的类名
let classS:xiaoJieJie = new xiaoJieJie('小姐姐',18,'心中的他')
 

//命名空间 namespace
      namespace name{
          export class paramsName{
            public sex:string = '女'
            say(){
                console.log('我是女孩')
            }
          }
}




本文如有侵犯版权请联系站长删除。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评
精彩导读