typescript2

1、typescript
1.for of
forEach() for in && for of
for of 忽略數組的屬性,可是能夠跳出循環
語法:
var (var x of arr1){
if(x>2) break;
console.log('for of',x);
}
for of能夠做爲遍歷數組的方法,也能夠遍歷字符串
for(var y of 'hello word'){
console.log('for of str',y);
}程序員

2.類 class
es6中的class能夠看作是一個語法糖,es5均可以作到,es6中的class寫法只是讓對象原型更加清晰,更加相似於面向對象編程
1)類是ts的核心,使用ts作開發時,大部分代碼都是寫在類裏面的
語法:
class Person{
name1;//屬性
eat(){//方法
console.log(`$(this.name1)喜歡吃肉`);
}
}
var p1=new Person();
p1.name1='小紅';
p1.eat();
var p2=new Person();
p2.name1='小黃';
p2.eat();es6

2)類的訪問控制符
public (默認):公開的
公共屬性,能夠在任何地方訪問(類的內部,類的實例化對象,類的子類)
private:私有的
私有屬性和方法只能在類的內部訪問,其餘任何地方都不能訪問
protected:受保護的
受保護的屬性和方法,只能在類的內部和子類內部中訪問,其餘地方不能訪問
3)類的構造函數
constructor 構造器
語法:
class Student{
constructor(){
//當類被實例化時(new)纔會調用構造函數
super();
}
}typescript


類的構造函數的做用:用於實例化對象屬性初始化
ts中直接定義類是不能傳參的,若是傳遞了參數,就須要使用構造器接受參數,而且能夠在構造器中對屬性今夕初始化值
eg:
class Dog{
public name: string;
age: number;
constructor(name:string,age:number){
//屬性初始化
this.name=name;
this.age=age;
}
eat(){
console.log(`${this.name}喜歡吃白菜`);
}
}
var dog=new Dog('阿黃',3);
dog.eat();編程

4)類的繼承 extends
語法:數組

class Father{
public name:string;
age:number;
//構造函數中的參數用於接受子類調用super是傳入的值
constructor(name:string,age:number){
this.name=name;
this.age=age;
}
}
class Son extends Father{
constructor(){
//super方法用於子類繼承父類的屬性和方法
super(name,age);//super中穿的參數,在父類的構造函數中接受
}
}函數

5.泛型
聲明變量時候能夠指定變量的類型,還能夠指定變量裏存儲的內容的類型,指定數組中只能存放什麼類型的元素
語法:
var strArr:Array<string>=[];this

3、ts中的接口 interface
接口用於創建某種代碼規範,讓其餘開發者在調用某個方法或建立新的類時,必須遵循接口鎖規定的代碼規範(數據類型的規範)
js中沒有接口的定義,ts中提供了兩個關鍵字來支持接口的特效:
聲明接口:interface
聲明某個類實現接口:implements
4、模塊 module
模塊能夠幫助程序員將代碼分隔爲可重用的單元,開發者能夠本身決定將模塊中的那些資源(變量,方法,類,暴露出去供外部使用,那些資源僅僅在當前模塊使用,在ts中,一個模塊就是一個文件,兩個關鍵詞:
導出:export(將資源暴露)
導入:import(導入資源)es5

相關文章
相關標籤/搜索