当前位置: 首页 > news >正文

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.lryc.cn/news/242724.html

相关文章:

  • 17 redis集群方案
  • [数据结构]—栈和队列
  • 【GridSearch】 简单实现并记录运行效果
  • SecureCRT出现Key exchange failed.No compatible key exchange method. 错误解决方法
  • Android RGB转YUV的算法
  • Spring事务底层原理(待完善)
  • 微信小程序 修改默认单选,多选按钮样式
  • 「最优化基础知识2」一维搜索,以及python代码
  • 工厂模式之抽象工厂模式(常用)
  • Apache服务Rwrite功能使用
  • 【一起来学kubernetes】6、kubernetes基本概念区分
  • Python基础入门例程66-NP66 增加元组的长度(元组)
  • ubuntu22.04 安装 jupyterlab
  • 探索移动端可能性:Capacitor5.5.1和vue2在Android studio中精细融合
  • 【深度学习】Python快捷调用InsightFace人脸检测,纯ONNX推理
  • JAVA序列化和反序列化
  • 基于浣熊算法优化概率神经网络PNN的分类预测 - 附代码
  • uni-app打包后,打开软件时使其横屏显示
  • MYSQL基础知识之【创建,删除,选择数据库】
  • 关于 token 和证书
  • 基于SSM和微信小程序的场地预约网站
  • Javascript每天一道算法题(十七)——缺失的第一个正整数_困难
  • 【React】路径别名配置
  • 前缀和——238. 除自身以外数组的乘积
  • MySql数据库常用指令(二)
  • zookeeper 单机伪集群搭建简单记录
  • 【Linux】匿名管道与命名管道,进程池的简易实现
  • HTML5+ API 爬坑记录
  • idea git将某个分支内的commit合并到其他分支
  • Google hacking语法