ts相關筆記

typescript
1.補充js沒有的特性--類型,抽象,接口
2.嚴謹

安裝:(如果下載失敗  可能權限不夠,可以右鍵命令提示符(cmd)管理員運行)
cnpm i typescript -g

1.類型:
    變量,參數,返回值
    
    指明類型:
    1.顯式申明  let a:string;
    2.隱式申明  let a=12;
    
    如果讓變量什麼都能裝
    1.不給初始值
    2.顯示申明any
    
    聯合類型
    let a:(number,string)="12"
    let a:(number,string)=12
    (類型1|類型2|類型3)
    元組類型  [類型1,類型2]  之後push的類型不限制
    枚舉-列舉有限的可能性
    void類型-常用的返回值 函數返回爲空
    null/undefined
    never    

2.類
    新的寫法
    
    訪問修飾符--public/private/protected
        public                任何人都能修改
        private             只有類內部能使用
        protected            只有類和子類能使用
        
            例如:private name:string;
            
    訪問修飾符怎麼用?
        “最小訪問原則”,“屬性都是private和protected,方法可以是public”
    
    //原版
    class Person{
        protected name:string;
        public age:number;
        constructor(name:string,age:number){
            this.name = name
            this.age = age
        }

        show():void{
            console.log(`姓名:${this.name} 年齡:${this.age}`)
        }
    }
    //簡寫
    class Person{
        constructor(private name:string,private age:number){
        }
        show():void{
            console.log(`姓名:${this.name} 年齡:${this.age}`)
        }
    }
    let p = new Person("fanshihao",666)
    p.show();
    
    修飾符
        static  靜態成員--無需實例化可調用
        const        只讀成員--只讀的  不能修改
        
    存取器
        set/get  編譯不了es3 es4  主要是要用到Object.defineProperty

    
    
3.高級特性
    抽象,接口s
    
    //抽象類只能作爲父級使用,不能直接被實例化
    abstract class Shape{}
    
    一些對象具有共同的特性
    1.繼承
    2.實現接口
    
    
    抽象類---只提供模板,而不自己實現(作用:規範所有的子類)
    即是 多態
    
    接口,抽象爲了規範所有子類
    
    typescript
    1.類型
    2.修飾符
        訪問修飾符
        const,static
    3.泛型
        let arr:string[]=[]
    4.抽象類,接口
        推薦接口
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章