ES学习class类用法(十一)

devtools/2024/12/26 8:03:11/

这里写目录标题

  • 一、class 类的用法
  • 二、类的继承

一、class 类的用法

JS语言中,生成实例对象的传统方法是通过构造函数:

        function Person(name,age){this.name=name;this.age=age;}Person.prototype.sayName=function(){return this.name}let p=new Person('小马哥',18);console.log(p);//Person {name: '小马哥', age: 18}

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

        class Person{// constructor方法 是类的默认方法,通过new命令生成对象实例时,自动调用该方法,一个类必须有constructor方法,如果没有定义,会被默认添加constructor(name, age) {this.name = name;this.age = age;}//等同于Person.prototype = function sayName(){}sayName(){return this.name;}}console.log(new Person('小马哥',18));

类的方法内部如果含有this,它默认指向类的实例.

二、类的继承

        class Animal{// 实例化的时候会立即被调用constructor(name, age){this.name = name;this.age = age;}setName(){return this.name;}setAge(){return this.age;}}class Dog extends Animal{constructor(name, age, color){// 如果 子类 继承了 父类,且 子类 中写了构造器,则 子类 构造器的 super 必须要调用super(name, age);  // 等同于 Animal.call(this,name,age); 继承父类的属性this.color = color;}// 子类自己的方法setColor(){return `${this.name}${this.age}岁了,它的颜色是${this.color}`;}// 重写父类的方法setName(){// super 相同于 Animalreturn this.name + super.setAge() + this.color;}}let d1 = new Dog('小黄', 28, 'red');console.log(d1.setAge());     // 调用继承父类的方法console.log(d1.setColor());   // 调用子类自己的方法console.log(d1.setName());    // 调用重写父类的方法

http://www.ppmy.cn/devtools/145041.html

相关文章

[N1CTF 2018]eating_cms

[N1CTF 2018]eating_cms 知识点 文件上传 解题 这个题感觉还好,知识点真心不难,就是全混在一起。 思路差不多挺离谱 首先看到,有一个登录界面,然后猜测有注册界面 admin注册不了,随便注册一个账号。 注册之后&…

TCP为什么需要三次握手和四次挥手?

在 TCP/IP 协议中,三次握手(Three-Way Handshake)和四次挥手(Four-Way Handshake)是为了确保可靠的数据传输和连接的建立与断开。下面将详细讲解这两个过程,并结合实际项目代码示例进行解释。 1. 三次握手(三次握手) 三次握手是用来建立一个 TCP 连接的过程。通过这个…

汽车经销商门店管理新趋势:信息化工具助力精益运营

随着汽车市场竞争日益激烈,新能源汽车的崛起、新零售模式的普及,以及消费者对服务体验需求的不断提高,传统汽车经销商的门店运营正面临严峻挑战。如何在这种充满不确定性的市场中维持竞争力?答案就在于——精益运营。 汽车经销商门…

鸿蒙学习笔记:用户登录界面

文章目录 1. 提出任务2. 完成任务2.1 创建鸿蒙项目2.2 准备图片资源2.3 编写首页代码2.4 启动应用 3. 实战小结 1. 提出任务 本次任务聚焦于运用 ArkUI 打造用户登录界面。需呈现特定元素:一张图片增添视觉感,两个分别用于账号与密码的文本输入框&#…

物联网水文观测设备

物联网水文观测设备的功能涵盖了水文监测的多个方面,以下是其主要功能: 实时数据收集: 物联网水文观测设备能够实时收集水位、流量、水质等参数,实现对水环境的持续监测。这种连续的数据收集方法有助于及时发现和预警水资源问题&a…

Laya ios接入goole广告,开始接入 2

开始使用 | iOS | Google for Developers 谷歌广告的官网,需要搭梯子,API你说详细吧,也就那样,主要是没接过 一步步来吧 0.laya导包 前端出包原生 screenorientation 全部 portrait,我这个是竖屏的 注意这个&a…

排序概述及Python实现

1. 定义与目的 排序是将一组数据按照特定顺序排列的过程,其目的是为了便于数据的查找和处理,提高数据处理效率。 2. 分类 排序可以分为内部排序和外部排序。 2.1 内部排序 内部排序是指所有数据都在内存中进行排序。例如,对一个列表中的…

run postinstall error, please remove node_modules before retry!

下载 node_modules 报错:run postinstall error, please remove node_modules before retry! 原因:node 版本出现错误,我的项目之前是在 12 下运行的。解决方法: 先卸载node_modules清除缓存将node版本切换到12重新下载即可