ES6引入了class类这个概念,通过class关键字可以定义类,这就是更符合我们平时所理解的面向对象的语言。

class Person{ //定义一个名为Person的类

// 构造函数,用来接受参数

constructor(x,y){

this.x = x; //this代表的是实例对象

this.y = y;

}

todoSome(){ //这是个类的方法,不需要加function,有多个方法也不用逗号隔开

alert(this.x + “的年龄是” +this.y+“岁”);

}

}

export default Person;

二、静态方法和静态属性

===========

静态方法和静态属性,是使用static关键字的属性和方法

2.1 静态方法


static classMethod(){

console.log(‘123456’)

}

  • 静态方法不会被子类继承,子类不能调用

  • 静态方法中的this,指向的是类class,不是类的实例。因此静态方法只能通过类名来调用,不能通过实例来调用

let p = new Point();

p.classMethod(); // 报错

2.2 静态属性


static prop = 1 ; // 静态属性

  • 静态属性不能被子类继承,子类不能调用

  • 静态属性只能通过类名来调用,不能通过类的实例来调

三、class继承extends

================

  • class可以用过extends关键字来继承

  • ES6继承,子类构造函数中必须使用super()。因为ES6继承是先将父类实例对象的属性和方法,加到this上面,然后再调用子类的构造函数修改这个this

  • 如果子类没有定义constructor方法,super()会默认添加上

  • 子类会继承父类的方法和属性,但是静态方法和属性必须通过子类的类名来调用

import classtest from “./classtest”; //先引入父类

class Man extends classtest{

constructor(x,y){ //构造函数尽量与父类参数保持一致

super(); //利用super()关键字,这个必须放在子类构造函数中的第一位置

this.x = x;

this.y = y;

}

}

export default Man;

四、class的取值函数getter和存值函数setter

=============================

getter、setter就是给class的属性读值、传值用的。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

全网独播-价值千万金融项目前端架构实战

从两道网易面试题-分析JavaScript底层机制

RESTful架构在Nodejs下的最佳实践

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

一线互联网企业如何初始化项目-做一个自己的vue-cli

思维无价,看我用Nodejs实现MVC

代码优雅的秘诀-用观察者模式深度解耦模块

前端高级实战,如何封装属于自己的JS库

VUE组件库级组件封装-高复用弹窗组件


ss-process=image/format,png)

VUE组件库级组件封装-高复用弹窗组件

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐