ES6之class类

ES6提供了更接近传统语言的写法,引入了Class类这个概念,作为对象的模板。通过Class关键字,可以定义类,基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更面向对象编程的语法而已。

一、class类的基本用法

基本语法: class 类名 { constructor{ } }

    class Student {// 构造方法 名字不能修改constructor(name,age) {this.name = namethis.age = age}// 添加方法// 方法必须使用该语法fun() {console.log("我是学生")}}let zs = new Student("张三",18)console.log(zs) 

在这里插入图片描述

二、class类静态成员

static

    class Student {// 静态属性static name = "张三"static fun() {console.log("我是学生")}}let zs = new Student()console.log(zs.name) //undefinedconsole.log(Student.name) //张三

为什么我们zs.name打印undefined呢?
因为static属性方法只属于类,不属于实例对象

三、class类继承

    class Student {// 构造方法 名字不能修改constructor(name, age) {this.name = namethis.age = age}// 添加方法// 方法必须使用该语法fun() {console.log("我是学生")}}// 类继承必须要写extendsclass Student1 extends Student {// 构造方法constructor(name,age,id,tel){// supersuper(name,age) //Student.call(this,name,age)this.id = idthis.tel = tel}learn() {console.log("学习")}}let zs = new Student1("张三",18,10,123456)console.log(zs)

请添加图片描述

四、class中的getter与setter

    class Student {get name(){console.log("姓名被读取了");// 需要有返回值 要不然直接 .上name会输出undefinedreturn "hihi"}// set 中需要有参数set name(value){console.log("姓名被修改了");}}let s = new Student()console.log(s.name);s.name = "say"

在这里插入图片描述
感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/216097.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Spring Boot中实现单文件,多文件上传

这篇文章算是一篇水文,因为也没啥好讲的,在Spring Boot中,上传文件是我们常常做的,包括我们在实际开发过程中,我们也经常碰到与文件上传有关的功能,这也算是我们常用的一个功能了,毕竟作为开发者…

apple macbook M系列芯片安装 openJDK17

文章目录 1. 查找openjdk版本2. 安装openjdk3. 多jdk之间的切换 在这里我们使用 brew 命令查找并安装。 1. 查找openjdk版本 执行:brew search openjdk,注意:执行命令后,如果得到的结果中没有红框内容,则需要更新一下…

ONNX实践系列-将dbnet.onnx的hardsigmoid op用hardsigmoid.onnx整个去替换掉

一、目标 这个dbnet.onnx是paddleocr转出来的,自带的有paddle的那个hardsigmoid算子 ,这个不好转到trt等框架,因此我们想把这个hardsigmoid 算子op替换成我们常规的pytorch框架转出来的hardsigmoid onnx那种。 二、做法 给出代码如下: import onnx from onnx import help…

AD9361纯逻辑控制从0到1连载10-多芯片同步MCS以及射频同步方法

本文基于ZC706FMCOMMS5的平台,介绍了AD9361的多芯片同步设计方法。这里的“同步”包含了基带同步以及射频同步。AD9361原生只支持基带同步,官方的名称叫MCS(Multi-chip Baseband Synchronization ),实际上配合外围的射…

Redis常用操作及应用(一)

一、五种数据结构 二、String结构 1、字符串常用操作 SET key value //存入字符串键值对 MSET key value [key value ...] //批量存储字符串键值对 SETNX key value //存入一个不存在的字符串键值对 GET key //获取一个字符串键值 MGET key [ke…

Let’s xrOS 一款让你优先体验社区创作者的 visionOS App工具

Let’s xrOS Apple Vision Pro 发布预示着空间计算时代的到来,让科技爱好者和开发者开始思考如何在新的交互、系统和硬件上打造独特的三维应用。 自 WWDC 2023 的发布会后,社交媒体上涌现了许多精美的 visionOS App 的效果图和演示视频,然而…

开源与闭源

我的观点: 开源与闭源软件都有各自的优势和劣势,没有绝对的对错之分。.. 一、开源和闭源的优劣势比较 开源的好处与劣处 优势: 创新与合作:开源软件能够吸引更多的开发者参与到项目中来,促进创新和合作。开放的源代码…

Chrome网页前端组件调试模式,获取核心业务逻辑

进入网页,点击F12,弹出开发者工具对话框,如下图 定位目标组件,如按钮,修改html,插入οnclick"debugger"代码 在网页点击该按钮,触发调试模式 不停按F11,逐个检索文件…

软著项目推荐 深度学习 python opencv 火焰检测识别 火灾检测

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

RK3399 板子烧录Armbian

本来不想写在CSDN这里的。帮有需要的同学了吧。 板子上面标记型号为: GC18-108-RK3399-V2.0TEAN E120339 94V-OML1没有HDMI接口(我也是汗,买的时候注意到,坑了),配置信息。 CPU : RK3399RAMROM: 4G16G无…

图书管理系统(Java简单版)(完整代码+详解)

目录 详解: BookList类: InOperation接口 User类(父类) 和 Main类(这俩要一起看) 完整代码 book包 Book类 BookList类 operation包 AddBook类 BorrowBook类 DeleteBook类 FindBook类 Pr…

Spring原理——基于xml配置文件创建IOC容器的过程

Spring框架的核心之一是IOC,那么我们是怎么创建出来的Bean呢? 作者进行了简单的总结,希望能对你有所帮助。 IOC的创建并不是通过new而是利用了java的反射机制,利用了newInstance方法进行的创建对象。 首先,我们先定义…