TypeScript-起步——TypeScript类、接口(一)
1、类
① 认识类的使用
-
在早期的JavaScript开发中(ES5)我们需要通过函数和原型链来实现类和继承,从ES6开始,引入了class关键字,可以更加方便的定义和使用类。
-
TypeScript作为JavaScript的超集,也是支持使用class关键字的,并且还可以对类的属性和方法等进行静态类型检测。
-
实际上在JavaScript的开发过程中,我们更加习惯于函数式编程:
- 比如React开发中,目前更多使用的函数组件以及结合Hook的开发模式;
- 比如在Vue3开发中,目前也更加推崇使用 Composition API;
-
但是在封装某些业务的时候,类具有更强大封装性,所以我们也需要掌握它们。
-
类的定义我们通常会使用class关键字:
- 在面向对象的世界里,任何事物都可以使用类的结构来描述;
- 类中包含特有的属性和方法;
② 类的定义
-
使用class来定义一个Person类:
class Person { username: string age: number constructor(username: string, age: number) { this.username = username this.age = age } eating() { console.log(this.username + ' eating'); } } const p = new Person('liangshuang', 21) console.log(p.username) // liangshuang console.log(p.age) // 21 p.eating() // liangshuang eating
-
我们可以声明一些类的属性:在类的内部声明类的属性以及对应的类型
-
如果类型没有声明,那么它们默认是any的;
-
我们也可以给属性设置初始化值;
-
在默认的
strictPropertyInitialization
模式下面我们的属性是必须初始化的,如果没有初始化,那么编译时就会报错;- 如果我们在
strictPropertyInitialization
模式下确实不希望给属性初始化,可以使用name!: string
语法;
- 如果我们在
-
-
类可以有自己的构造函数constructor,当我们通过new关键字创建一个实例时,构造函数会被调用;
- 构造函数不需要返回任何值,默认返回当前创建出来的实例;
-
类中可以有自己的函数,定义的函数称之为方法;
转载自:https://juejin.cn/post/7138019097777799181