React_Native 再学习5--TypeScript学习2——进阶语法

React_Native 再学习5--TypeScript学习2_进阶语法

元组

let xcatliu: [string, number];

xcatliu[0] = 'Xcat Liu';

xcatliu[1] = 25;

枚举

普通定义

enum Days {Sun, Mon, Tue, Wed, Thu, Fri,Sat};

console.log(Days["Sun"] === 0); //true

console.log(Days[0] === "Sun"); //true

手动赋值:

enum Days {Sun = 7, Mon = 1, Tue, Wed, Thu,Fri, Sat};

console.log(Days["Sun"] === 7); //true

console.log(Days["Mon"] === 1); //true

console.log(Days["Tue"] === 2); //true

枚举会在赋值之后的数据进行累加。

类的使用

普通的类定义和使用:

class Animal {

    privatename;

    publicconstructor(name) {

       this.name = name;

    }

}

class Cat extends Animal {

    constructor(name){

       super(name);

       console.log(this.name);

    }

}

抽象类

abstract class Animal {

    publicname;

    publicconstructor(name) {

       this.name = name;

    }

    publicabstract sayHi();

}

class Cat extends Animal {

    publiceat() {

       console.log(`${this.name} is eating.`);

    }

}

接口的使用:

接口间继承;

interface Alarm {

   alert();

}

interface LightableAlarm extends Alarm {

   lightOn();

   lightOff();

}

对象接口继承类

class Point {

   x: number;

   y: number;

}

interface Point3d extends Point {

   z: number;

}

迭代器和生成器

Array,Map,Set,String,Int32Array,Uint32Array等都已经实现了各自的Symbol.iterator

for in 与for of

for..of和for..in均可迭代一个列表;但是用于迭代的值却不同,for..in迭代的是对象的  的列表,而for..of则迭代对象的键对应的值

let list = [4, 5, 6];

for (let i in list)

{ console.log(i); // "0","1", "2", }

for (let i of list)

{ console.log(i); // "4","5", "6" }

猜你喜欢

转载自blog.csdn.net/u011486491/article/details/79137765